import type { GeneratedEtsLibFile } from "../../types/generated";

export const FILE: GeneratedEtsLibFile = {
  path: 'ets/api/@ohos.multimedia.audio.d.ts',
  content: "/*\n * Copyright (c) 2021-2023 Huawei Device Co., Ltd.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @file\n * @kit AudioKit\n */\nimport { AsyncCallback, Callback } from './@ohos.base';\n/**\n * @namespace audio\n * @since 7\n */\n/**\n * @namespace audio\n * @syscap SystemCapability.Multimedia.Audio.Core\n * @crossplatform\n * @atomicservice\n * @since 12\n */\ndeclare namespace audio {\n    /**\n     * Enumerates audio errors.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 9\n     */\n    /**\n     * Enumerates audio errors.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioErrors {\n        /**\n         * Invalid parameter.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Invalid parameter.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        ERROR_INVALID_PARAM = 6800101,\n        /**\n         * Allocate memory failed.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Allocate memory failed.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        ERROR_NO_MEMORY = 6800102,\n        /**\n         * Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        ERROR_ILLEGAL_STATE = 6800103,\n        /**\n         * Unsupported option.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Unsupported option.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        ERROR_UNSUPPORTED = 6800104,\n        /**\n         * Time out.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        ERROR_TIMEOUT = 6800105,\n        /**\n         * Audio specific errors.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        ERROR_STREAM_LIMIT = 6800201,\n        /**\n         * Default error.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Default error.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        ERROR_SYSTEM = 6800301\n    }\n    /**\n     * Define default volume group id for audio\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @since 9\n     */\n    /**\n     * Define default volume group id for audio\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @crossplatform\n     * @since 12\n     */\n    const DEFAULT_VOLUME_GROUP_ID: number;\n    /**\n     * Define default interrupt group id for audio\n     * @syscap SystemCapability.Multimedia.Audio.Interrupt\n     * @since 9\n     */\n    const DEFAULT_INTERRUPT_GROUP_ID: number;\n    /**\n     * Obtains an {@link AudioManager} instance.\n     * @returns { AudioManager } this {@link AudioManager} object.\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 7\n     */\n    /**\n     * Obtains an {@link AudioManager} instance.\n     * <p><strong>NOTE</strong>:\n     * The {@link AudioManager} instance is not a singleton.\n     * </p>\n     *\n     * @returns { AudioManager } this {@link AudioManager} object.\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    function getAudioManager(): AudioManager;\n    /**\n     * Obtains an {@link AudioCapturer} instance.\n     * Success: This method uses an asynchronous callback to return the capturer instance.\n     * Failure: This method uses an asynchronous callback to return the error instance. Possible causes:\n     *          6800301: Parameter verification failed, Permission denied, System error;\n     *          6800101: Mandatory parameters are left unspecified, Incorrect parameter types.\n     * @param { AudioCapturerOptions } options - Capturer configurations.\n     * @param { AsyncCallback<AudioCapturer> } callback - Callback used to return the audio capturer instance.\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @since 8\n     */\n    /**\n     * Obtains an {@link AudioCapturer} instance. This method uses an asynchronous callback to return the capturer instance.\n     * @param { AudioCapturerOptions } options - Capturer configurations.\n     * @param { AsyncCallback<AudioCapturer> } callback - Callback used to return the audio capturer instance.\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @crossplatform\n     * @since 12\n     */\n    function createAudioCapturer(options: AudioCapturerOptions, callback: AsyncCallback<AudioCapturer>): void;\n    /**\n     * Obtains an {@link AudioCapturer} instance.\n     * Success: This method uses a promise to return the capturer instance.\n     * Failure: This method uses a promise to return the error instance. Possible causes:\n     *          6800301: Parameter verification failed, Permission denied, System error;\n     *          6800101: Mandatory parameters are left unspecified, Incorrect parameter types.\n     * @param { AudioCapturerOptions } options - Capturer configurations.\n     * @returns { Promise<AudioCapturer> } Promise used to return the audio capturer instance.\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @since 8\n     */\n    /**\n     * Obtains an {@link AudioCapturer} instance. This method uses a promise to return the capturer instance.\n     * @param { AudioCapturerOptions } options - Capturer configurations.\n     * @returns { Promise<AudioCapturer> } Promise used to return the audio capturer instance.\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @crossplatform\n     * @since 12\n     */\n    function createAudioCapturer(options: AudioCapturerOptions): Promise<AudioCapturer>;\n    /**\n     * Obtains an {@link AudioRenderer} instance. This method uses an asynchronous callback to return the renderer instance.\n     * @param { AudioRendererOptions } options - Renderer configurations.\n     * @param { AsyncCallback<AudioRenderer> } callback - Callback used to return the audio renderer instance.\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 8\n     */\n    /**\n     * Obtains an {@link AudioRenderer} instance. This method uses an asynchronous callback to return the renderer instance.\n     * @param { AudioRendererOptions } options - Renderer configurations.\n     * @param { AsyncCallback<AudioRenderer> } callback - Callback used to return the audio renderer instance.\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @since 12\n     */\n    function createAudioRenderer(options: AudioRendererOptions, callback: AsyncCallback<AudioRenderer>): void;\n    /**\n     * Obtains an {@link AudioRenderer} instance. This method uses a promise to return the renderer instance.\n     * @param { AudioRendererOptions } options - Renderer configurations.\n     * @returns { Promise<AudioRenderer> } Promise used to return the audio renderer instance.\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 8\n     */\n    /**\n     * Obtains an {@link AudioRenderer} instance. This method uses a promise to return the renderer instance.\n     * @param { AudioRendererOptions } options - Renderer configurations.\n     * @returns { Promise<AudioRenderer> } Promise used to return the audio renderer instance.\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @since 12\n     */\n    function createAudioRenderer(options: AudioRendererOptions): Promise<AudioRenderer>;\n    /**\n     * Enumerates the audio states.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n     * Enumerates the audio states.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioState {\n        /**\n         * Invalid state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Invalid state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        STATE_INVALID = -1,\n        /**\n         * Create new instance state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Create new instance state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        STATE_NEW = 0,\n        /**\n         * Prepared state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Prepared state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        STATE_PREPARED = 1,\n        /**\n         * Running state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Running state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        STATE_RUNNING = 2,\n        /**\n         * Stopped state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Stopped state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        STATE_STOPPED = 3,\n        /**\n         * Released state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Released state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        STATE_RELEASED = 4,\n        /**\n         * Paused state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Paused state.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        STATE_PAUSED = 5\n    }\n    /**\n     * Enumerates audio stream types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @since 7\n     */\n    /**\n     * Enumerates audio stream types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioVolumeType {\n        /**\n         * Audio streams for voice calls.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 8\n         */\n        /**\n         * Audio volume type for voice calls.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        VOICE_CALL = 0,\n        /**\n         * Audio streams for ringtones.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         */\n        /**\n         * Audio volume type for ringtones.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        RINGTONE = 2,\n        /**\n         * Audio streams for media purpose.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         */\n        /**\n         * Audio volume type for media purpose.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        MEDIA = 3,\n        /**\n         * Audio volume for alarm purpose.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Audio volume type for alarm purpose.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        ALARM = 4,\n        /**\n         * Audio volume for accessibility purpose.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Audio volume type for accessibility purpose.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        ACCESSIBILITY = 5,\n        /**\n         * Audio volume type for voice assistant.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 8\n         */\n        VOICE_ASSISTANT = 9\n    }\n    /**\n     * Enumerates audio device flags.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 7\n     */\n    /**\n     * Enumerates audio device flags.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @since 12\n     */\n    enum DeviceFlag {\n        /**\n         * Output devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Output devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        OUTPUT_DEVICES_FLAG = 1,\n        /**\n         * Input devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Input devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        INPUT_DEVICES_FLAG = 2,\n        /**\n         * All devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * All devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        ALL_DEVICES_FLAG = 3\n    }\n    /**\n     * Enumerates audio device for usage.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 12\n     */\n    enum DeviceUsage {\n        /**\n         * Media output devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        MEDIA_OUTPUT_DEVICES = 1,\n        /**\n         * Media input devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        MEDIA_INPUT_DEVICES = 2,\n        /**\n         * All media devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        ALL_MEDIA_DEVICES = 3,\n        /**\n         * Call output devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        CALL_OUTPUT_DEVICES = 4,\n        /**\n         * Call input devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        CALL_INPUT_DEVICES = 8,\n        /**\n         * All call devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        ALL_CALL_DEVICES = 12\n    }\n    /**\n     * Enumerates device roles.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 7\n     */\n    /**\n     * Enumerates device roles.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum DeviceRole {\n        /**\n         * Input role.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Input role.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        INPUT_DEVICE = 1,\n        /**\n         * Output role.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Output role.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        OUTPUT_DEVICE = 2\n    }\n    /**\n     * Enumerates device types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 7\n     */\n    /**\n     * Enumerates device types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum DeviceType {\n        /**\n         * Invalid device.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Invalid device.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        INVALID = 0,\n        /**\n         * Built-in earpiece.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Built-in earpiece.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        EARPIECE = 1,\n        /**\n         * Built-in speaker.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Built-in speaker.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        SPEAKER = 2,\n        /**\n         * Wired headset, which is a combination of a pair of earpieces and a microphone.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Wired headset, which is a combination of a pair of earpieces and a microphone.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        WIRED_HEADSET = 3,\n        /**\n         * A pair of wired headphones.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * A pair of wired headphones.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        WIRED_HEADPHONES = 4,\n        /**\n         * Bluetooth device using the synchronous connection oriented link (SCO).\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Bluetooth device using the synchronous connection oriented link (SCO).\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        BLUETOOTH_SCO = 7,\n        /**\n         * Bluetooth device using advanced audio distribution profile (A2DP).\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Bluetooth device using advanced audio distribution profile (A2DP).\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        BLUETOOTH_A2DP = 8,\n        /**\n         * Built-in microphone.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Built-in microphone.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        MIC = 15,\n        /**\n         * USB audio headset.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * USB audio headset.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        USB_HEADSET = 22,\n        /**\n         * Display port device.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @atomicservice\n         * @since 12\n         */\n        DISPLAY_PORT = 23,\n        /**\n         * Device type for rerouting audio to other remote devices by system application\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @atomicservice\n         * @since 12\n         */\n        REMOTE_CAST = 24,\n        /**\n         * USB audio device.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 18\n         */\n        USB_DEVICE = 25,\n        /**\n         * HDMI device, such as HDMI, ARC, eARC\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 19\n         */\n        HDMI = 27,\n        /**\n         * Line connected digital output device, such as s/pdif\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 19\n         */\n        LINE_DIGITAL = 28,\n        /**\n         * Distributed virtualization audio device.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @atomicservice\n         * @since 18\n         */\n        REMOTE_DAUDIO = 29,\n        /**\n         * Default device type.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Default device type.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        DEFAULT = 1000\n    }\n    /**\n     * Enumerates the active device types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 7\n     * @deprecated since 9\n     * @useinstead ohos.multimedia.audio.CommunicationDeviceType\n     */\n    enum ActiveDeviceType {\n        /**\n         * Speaker.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.CommunicationDeviceType.SPEAKER\n         */\n        SPEAKER = 2,\n        /**\n         * Bluetooth device using the SCO link.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         */\n        BLUETOOTH_SCO = 7\n    }\n    /**\n     * Enumerates the available device types for communication.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Communication\n     * @since 9\n     */\n    /**\n     * Enumerates the available device types for communication.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Communication\n     * @crossplatform\n     * @since 12\n     */\n    enum CommunicationDeviceType {\n        /**\n         * Speaker.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 9\n         */\n        /**\n         * Speaker.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        SPEAKER = 2\n    }\n    /**\n     * Enumerates ringer modes.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Communication\n     * @since 7\n     */\n    /**\n     * Enumerates ringer modes.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Communication\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioRingMode {\n        /**\n         * Silent mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 7\n         */\n        /**\n         * Silent mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        RINGER_MODE_SILENT = 0,\n        /**\n         * Vibration mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 7\n         */\n        /**\n         * Vibration mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        RINGER_MODE_VIBRATE = 1,\n        /**\n         * Normal mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 7\n         */\n        /**\n         * Normal mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        RINGER_MODE_NORMAL = 2\n    }\n    /**\n     * Enumerates the audio sample formats.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n     * Enumerates the audio sample formats.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioSampleFormat {\n        /**\n         * Invalid format.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Invalid format.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_FORMAT_INVALID = -1,\n        /**\n         * Unsigned 8 format.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Unsigned 8 format.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_FORMAT_U8 = 0,\n        /**\n         * Signed 16 bit integer, little endian.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Signed 16 bit integer, little endian.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_FORMAT_S16LE = 1,\n        /**\n         * Signed 24 bit integer, little endian.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Signed 24 bit integer, little endian.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_FORMAT_S24LE = 2,\n        /**\n         * Signed 32 bit integer, little endian.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Signed 32 bit integer, little endian.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_FORMAT_S32LE = 3,\n        /**\n         * Signed 32 bit float, little endian.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Signed 32 bit float, little endian.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_FORMAT_F32LE = 4\n    }\n    /**\n     * Enumerates the audio channel.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n     * Enumerates the audio channel.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioChannel {\n        /**\n         * Channel 1.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Channel 1.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_1 = 1,\n        /**\n         * Channel 2.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Channel 2.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_2 = 2,\n        /**\n         * Channel 3.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 3.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_3 = 3,\n        /**\n         * Channel 4.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 4.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_4 = 4,\n        /**\n         * Channel 5.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 5.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_5 = 5,\n        /**\n         * Channel 6.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 6.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_6 = 6,\n        /**\n         * Channel 7.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 7.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_7 = 7,\n        /**\n         * Channel 8.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 8.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_8 = 8,\n        /**\n         * Channel 9.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 9.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_9 = 9,\n        /**\n         * Channel 10.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 10.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_10 = 10,\n        /**\n         * Channel 12.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 12.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_12 = 12,\n        /**\n         * Channel 14.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 14.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_14 = 14,\n        /**\n         * Channel 16.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel 16.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CHANNEL_16 = 16\n    }\n    /**\n     * Enumerates the audio sampling rate.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n     * Enumerates the audio sampling rate.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioSamplingRate {\n        /**\n         * 8kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 8kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_8000 = 8000,\n        /**\n         * 11.025kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 11.025kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_11025 = 11025,\n        /**\n         * 12kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 12kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_12000 = 12000,\n        /**\n         * 16kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 16kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_16000 = 16000,\n        /**\n         * 22.05kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 22.05kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_22050 = 22050,\n        /**\n         * 24kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 24kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_24000 = 24000,\n        /**\n         * 32kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 32kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_32000 = 32000,\n        /**\n         * 44.1kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 44.1kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_44100 = 44100,\n        /**\n         * 48kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 48kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_48000 = 48000,\n        /**\n         * 64kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 64kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_64000 = 64000,\n        /**\n         * 88.2kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 12\n         */\n        SAMPLE_RATE_88200 = 88200,\n        /**\n         * 96kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * 96kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SAMPLE_RATE_96000 = 96000,\n        /**\n         * 176.4kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 12\n         */\n        SAMPLE_RATE_176400 = 176400,\n        /**\n         * 192kHz sample rate.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 12\n         */\n        SAMPLE_RATE_192000 = 192000\n    }\n    /**\n     * Enumerates the audio encoding type.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n     * Enumerates the audio encoding type.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum AudioEncodingType {\n        /**\n         * Invalid type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Invalid type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ENCODING_TYPE_INVALID = -1,\n        /**\n         * PCM encoding.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * PCM encoding.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        ENCODING_TYPE_RAW = 0\n    }\n    /**\n     * Enumerates the audio content type.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 7\n     * @deprecated since 10\n     * @useinstead ohos.multimedia.audio.StreamUsage\n     */\n    enum ContentType {\n        /**\n         * Unknown content.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.StreamUsage.STREAM_USAGE_UNKNOWN\n         */\n        CONTENT_TYPE_UNKNOWN = 0,\n        /**\n         * Speech content.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.StreamUsage.STREAM_USAGE_VOICE_COMMUNICATION\n         */\n        CONTENT_TYPE_SPEECH = 1,\n        /**\n         * Music content.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.StreamUsage.STREAM_USAGE_MUSIC\n         */\n        CONTENT_TYPE_MUSIC = 2,\n        /**\n         * Movie content.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.StreamUsage.STREAM_USAGE_MOVIE\n         */\n        CONTENT_TYPE_MOVIE = 3,\n        /**\n         * Notification content.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.StreamUsage.STREAM_USAGE_NOTIFICATION\n         */\n        CONTENT_TYPE_SONIFICATION = 4,\n        /**\n         * Ringtone content.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.StreamUsage.STREAM_USAGE_RINGTONE\n         */\n        CONTENT_TYPE_RINGTONE = 5\n    }\n    /**\n     * Enumerates the stream usage.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 7\n     */\n    /**\n     * Enumerates the stream usage.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum StreamUsage {\n        /**\n         * Unknown usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         */\n        /**\n         * Unknown usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_UNKNOWN = 0,\n        /**\n         * Media usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.StreamUsage.STREAM_USAGE_MUSIC or\n         *             ohos.multimedia.audio.StreamUsage.STREAM_USAGE_MOVIE or\n         *             ohos.multimedia.audio.StreamUsage.STREAM_USAGE_GAME or\n         *             ohos.multimedia.audio.StreamUsage.STREAM_USAGE_AUDIOBOOK\n         */\n        STREAM_USAGE_MEDIA = 1,\n        /**\n         * Music usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Music usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_MUSIC = 1,\n        /**\n         * Voice communication usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         */\n        /**\n         * Voice communication usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_VOICE_COMMUNICATION = 2,\n        /**\n         * Voice assistant broadcast usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Voice assistant broadcast usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_VOICE_ASSISTANT = 3,\n        /**\n         * Alarm usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Alarm usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_ALARM = 4,\n        /**\n         * Voice message usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Voice message usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_VOICE_MESSAGE = 5,\n        /**\n         * Notification or ringtone usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.StreamUsage.STREAM_USAGE_RINGTONE\n         */\n        STREAM_USAGE_NOTIFICATION_RINGTONE = 6,\n        /**\n         * Ringtone usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Ringtone usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_RINGTONE = 6,\n        /**\n         * Notification usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Notification usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_NOTIFICATION = 7,\n        /**\n         * Accessibility usage, such as screen reader.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Accessibility usage, such as screen reader.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_ACCESSIBILITY = 8,\n        /**\n         * Movie or video usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Movie or video usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_MOVIE = 10,\n        /**\n         * Game sound effect usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Game sound effect usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_GAME = 11,\n        /**\n         * Audiobook usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Audiobook usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_AUDIOBOOK = 12,\n        /**\n         * Navigation usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        /**\n         * Navigation usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_NAVIGATION = 13,\n        /**\n         * Video call usage.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @atomicservice\n         * @since 12\n         */\n        STREAM_USAGE_VIDEO_COMMUNICATION = 17\n    }\n    /**\n     * Describes audio stream information.\n     * @typedef AudioStreamInfo\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n    * Describes audio stream information.\n    * @typedef AudioStreamInfo\n    * @syscap SystemCapability.Multimedia.Audio.Core\n    * @crossplatform\n    * @since 12\n    */\n    interface AudioStreamInfo {\n        /**\n         * Sampling rate.\n         * @type { AudioSamplingRate }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Sampling rate.\n         * @type { AudioSamplingRate }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        samplingRate: AudioSamplingRate;\n        /**\n         * Audio channels.\n         * @type { AudioChannel }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n          * Audio channels.\n         * @type { AudioChannel }\n          * @syscap SystemCapability.Multimedia.Audio.Core\n          * @crossplatform\n          * @since 12\n          */\n        channels: AudioChannel;\n        /**\n         * Audio sample format.\n         * @type { AudioSampleFormat }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Audio sample format.\n         * @type { AudioSampleFormat }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        sampleFormat: AudioSampleFormat;\n        /**\n         * Audio encoding type.\n         * @type { AudioEncodingType }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Audio encoding type.\n         * @type { AudioEncodingType }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        encodingType: AudioEncodingType;\n        /**\n         * Audio channel layout.\n         * @type { ?AudioChannelLayout }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Audio channel layout.\n         * @type { ?AudioChannelLayout }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        channelLayout?: AudioChannelLayout;\n    }\n    /**\n     * Describes audio renderer information.\n     * @typedef AudioRendererInfo\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n     * Describes audio renderer information.\n     * @typedef AudioRendererInfo\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface AudioRendererInfo {\n        /**\n         * Content type.\n         * @type { ContentType }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         * @deprecated since 10\n         * @useinstead ohos.multimedia.audio.AudioRendererInfo#usage\n         */\n        /**\n         * Content type.\n         * @type { ?ContentType }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 10\n         */\n        content?: ContentType;\n        /**\n         * Stream usage.\n         * @type { StreamUsage }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Stream usage.\n         * @type { StreamUsage }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        usage: StreamUsage;\n        /**\n         * Audio renderer flags.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Audio renderer flags.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        rendererFlags: number;\n        /**\n         * Audio volume mode config. If volumeMode is set to {@link AudioVolumeMode.APP_INDIVIDUAL}, this audio renderer\n         * will be affeted by app volume percentage setted by {@link setAppVolumePercentage}\n         * @type { ?AudioVolumeMode }\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 19\n         */\n        volumeMode?: AudioVolumeMode;\n    }\n    /**\n     * Describes audio renderer configuration options.\n     * @typedef AudioRendererOptions\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 8\n     */\n    /**\n    * Describes audio renderer configuration options.\n    * @typedef AudioRendererOptions\n    * @syscap SystemCapability.Multimedia.Audio.Renderer\n    * @crossplatform\n    * @since 12\n    */\n    interface AudioRendererOptions {\n        /**\n         * Stream information.\n         * @type { AudioStreamInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Stream information.\n         * @type { AudioStreamInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        streamInfo: AudioStreamInfo;\n        /**\n         * Renderer information.\n         * @type { AudioRendererInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Renderer information.\n         * @type { AudioRendererInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        rendererInfo: AudioRendererInfo;\n        /**\n         * Privacy configuration.\n         * @type { ?AudioPrivacyType }\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @since 10\n         */\n        /**\n         * Privacy configuration.\n         * @type { ?AudioPrivacyType }\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @crossplatform\n         * @since 12\n         */\n        privacyType?: AudioPrivacyType;\n    }\n    /**\n     * Enumerates audio stream privacy type for playback capture.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n     * @since 10\n     */\n    /**\n     * Enumerates audio stream privacy type for playback capture.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioPrivacyType {\n        /**\n         * Privacy type that stream can be captured by third party applications.\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @since 10\n         */\n        /**\n         * Privacy type that stream can be captured by third party applications.\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @crossplatform\n         * @since 12\n         */\n        PRIVACY_TYPE_PUBLIC = 0,\n        /**\n         * Privacy type that stream can not be captured.\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @since 10\n         */\n        /**\n         * Privacy type that stream can not be captured.\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @crossplatform\n         * @since 12\n         */\n        PRIVACY_TYPE_PRIVATE = 1\n    }\n    /**\n     * Enumerates the interrupt modes.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Interrupt\n     * @since 9\n     */\n    /**\n     * Enumerates the interrupt modes.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Interrupt\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum InterruptMode {\n        /**\n         * Mode that different stream share one interrupt unit.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 9\n         */\n        /**\n         * Mode that different stream share one interrupt unit.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        SHARE_MODE = 0,\n        /**\n         * Mode that each stream has independent interrupt unit.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 9\n         */\n        /**\n         * Mode that each stream has independent interrupt unit.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        INDEPENDENT_MODE = 1\n    }\n    /**\n     * Enumerates the audio renderer rates.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 8\n     */\n    enum AudioRendererRate {\n        /**\n         * Normal rate.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        RENDER_RATE_NORMAL = 0,\n        /**\n         * Double rate.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        RENDER_RATE_DOUBLE = 1,\n        /**\n         * Half rate.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        RENDER_RATE_HALF = 2\n    }\n    /**\n     * Enumerates the interrupt types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 7\n     */\n    /**\n     * Enumerates the interrupt types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum InterruptType {\n        /**\n         * Audio playback interruption started.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         */\n        /**\n         * Audio playback interruption started.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_TYPE_BEGIN = 1,\n        /**\n         * Audio playback interruption ended.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         */\n        /**\n         * Audio playback interruption ended.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_TYPE_END = 2\n    }\n    /**\n     * Enumerates the interrupt hints.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 7\n     */\n    /**\n     * Enumerates the interrupt hints.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum InterruptHint {\n        /**\n         * None.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * None.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_HINT_NONE = 0,\n        /**\n         * Resume the playback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         */\n        /**\n         * Resume the playback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_HINT_RESUME = 1,\n        /**\n         * Paused/Pause the playback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         */\n        /**\n         * Paused/Pause the playback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_HINT_PAUSE = 2,\n        /**\n         * Stopped/Stop the playback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         */\n        /**\n         * Stopped/Stop the playback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_HINT_STOP = 3,\n        /**\n         * Ducked the playback. (In ducking, the audio volume is reduced, but not silenced.)\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         */\n        /**\n         * Ducked the playback. (In ducking, the audio volume is reduced, but not silenced.)\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_HINT_DUCK = 4,\n        /**\n         * Unducked the playback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Unducked the playback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_HINT_UNDUCK = 5,\n        /**\n         * Mute the stream.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 20\n         */\n        INTERRUPT_HINT_MUTE = 6,\n        /**\n         * Unmute the stream.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 20\n         */\n        INTERRUPT_HINT_UNMUTE = 7\n    }\n    /**\n     * Enumerates the interrupt force types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 9\n     */\n    /**\n     * Enumerates the interrupt force types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum InterruptForceType {\n        /**\n         * Forced action taken by system.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Forced action taken by system.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_FORCE = 0,\n        /**\n         * Share type, application can choose to take action or ignore.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Share type, application can choose to take action or ignore.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @atomicservice\n         * @since 12\n         */\n        INTERRUPT_SHARE = 1\n    }\n    /**\n     * Describes the interrupt event received by the app when playback is interrupted.\n     * @typedef InterruptEvent\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 9\n     */\n    /**\n     * Describes the interrupt event received by the app when playback is interrupted.\n     * @typedef InterruptEvent\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface InterruptEvent {\n        /**\n         * Indicates whether the interruption has started or finished.\n         * @type { InterruptType }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Indicates whether the interruption has started or finished.\n         * @type { InterruptType }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        eventType: InterruptType;\n        /**\n         * Indicates whether the action is taken by system or to be taken by the app.\n         * @type { InterruptForceType }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Indicates whether the action is taken by system or to be taken by the app.\n         * @type { InterruptForceType }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        forceType: InterruptForceType;\n        /**\n         * Indicates the kind of action.\n         * @type { InterruptHint }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Indicates the kind of action.\n         * @type { InterruptHint }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        hintType: InterruptHint;\n    }\n    /**\n     * Enumerates interrupt action types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 7\n     * @deprecated since 9\n     */\n    enum InterruptActionType {\n        /**\n         * Focus gain event.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        TYPE_ACTIVATED = 0,\n        /**\n         * Audio interruption event.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        TYPE_INTERRUPT = 1\n    }\n    /**\n     * Enumerates device change types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 7\n     */\n    /**\n     * Enumerates device change types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @since 12\n     */\n    enum DeviceChangeType {\n        /**\n         * Device connection.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Device connection.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        CONNECT = 0,\n        /**\n         * Device disconnection.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Device disconnection.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        DISCONNECT = 1\n    }\n    /**\n     * Enumerates audio scenes.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Communication\n     * @since 8\n     */\n    /**\n     * Enumerates audio scenes.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Communication\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioScene {\n        /**\n         * Default audio scene\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 8\n         */\n        /**\n         * Default audio scene\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        AUDIO_SCENE_DEFAULT = 0,\n        /**\n         * Ringing audio scene\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 12\n         */\n        AUDIO_SCENE_RINGING = 1,\n        /**\n         * Phone call audio scene\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 12\n         */\n        AUDIO_SCENE_PHONE_CALL = 2,\n        /**\n         * Voice chat audio scene\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 8\n         */\n        /**\n         * Voice chat audio scene\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        AUDIO_SCENE_VOICE_CHAT = 3\n    }\n    /**\n     * Implements audio volume and audio device management.\n     * @typedef AudioManager\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 7\n     */\n    /**\n     * Implements audio stream, volume, device, effect and many other management functions.\n     * @typedef AudioManager\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioManager {\n        /**\n         * Sets the volume for a volume type. This method uses an asynchronous callback to return the result.\n         * @permission ohos.permission.ACCESS_NOTIFICATION_POLICY\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { number } volume - Volume to set. The value range can be obtained by calling getMinVolume and getMaxVolume.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#setVolume\n         */\n        setVolume(volumeType: AudioVolumeType, volume: number, callback: AsyncCallback<void>): void;\n        /**\n         * Sets the volume for a volume type. This method uses a promise to return the result.\n         * @permission ohos.permission.ACCESS_NOTIFICATION_POLICY\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { number } volume - Volume to set. The value range can be obtained by calling getMinVolume and getMaxVolume.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#setVolume\n         */\n        setVolume(volumeType: AudioVolumeType, volume: number): Promise<void>;\n        /**\n         * Obtains the volume of a volume type. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#getVolume\n         */\n        getVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the volume of a volume type. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { Promise<number> } Promise used to return the volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#getVolume\n         */\n        getVolume(volumeType: AudioVolumeType): Promise<number>;\n        /**\n         * Obtains the minimum volume allowed for a stream. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the minimum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#getMinVolume\n         */\n        getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the minimum volume allowed for a stream. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<number> } Promise used to return the minimum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#getMinVolume\n         */\n        getMinVolume(volumeType: AudioVolumeType): Promise<number>;\n        /**\n         * Obtains the maximum volume allowed for a volume type. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the maximum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#getMaxVolume\n         */\n        getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the maximum volume allowed for a volume type. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { Promise<number> } Promise used to return the maximum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#getMaxVolume\n         */\n        getMaxVolume(volumeType: AudioVolumeType): Promise<number>;\n        /**\n         * Obtains the audio devices with a specific flag. This method uses an asynchronous callback to return the query result.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the device list.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioRoutingManager#getDevices\n         */\n        getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback<AudioDeviceDescriptors>): void;\n        /**\n         * Obtains the audio devices with a specific flag. This method uses a promise to return the query result.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the device list.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioRoutingManager#getDevices\n         */\n        getDevices(deviceFlag: DeviceFlag): Promise<AudioDeviceDescriptors>;\n        /**\n         * Mutes a volume type. This method uses an asynchronous callback to return the result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { boolean } mute - Mute status to set. The value true means to mute the volume type, and false means the opposite.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#mute\n         */\n        mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback<void>): void;\n        /**\n         * Mutes a volume type. This method uses a promise to return the result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { boolean } mute -  Mute status to set. The value true means to mute the volume type, and false means the opposite.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#mute\n         */\n        mute(volumeType: AudioVolumeType, mute: boolean): Promise<void>;\n        /**\n         * Checks whether a stream is muted. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the mute status of the stream.\n         *        The value true means that the stream is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#isMute\n         */\n        isMute(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void;\n        /**\n         * Checks whether a stream is muted. This method uses a promise to return the result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<boolean> } Promise used to return the mute status of the stream. The value true means\n         *          that the stream is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#isMute\n         */\n        isMute(volumeType: AudioVolumeType): Promise<boolean>;\n        /**\n         * Checks whether a stream is active. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the active status of the stream.\n         *        The value true means that the stream is active, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioStreamManager#isActive\n         */\n        isActive(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void;\n        /**\n         * Checks whether a stream is active. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<boolean> } Promise used to return the active status of the stream. The value true means\n         *          that the stream is active, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioStreamManager#isActive\n         */\n        isActive(volumeType: AudioVolumeType): Promise<boolean>;\n        /**\n         * Mutes or unmutes the microphone. This method uses an asynchronous callback to return the result.\n         * @permission ohos.permission.MICROPHONE\n         * @param { boolean } mute - Mute status to set. The value true means to mute the microphone, and false means the opposite.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#setMicrophoneMute\n         */\n        setMicrophoneMute(mute: boolean, callback: AsyncCallback<void>): void;\n        /**\n         * Mutes or unmutes the microphone. This method uses a promise to return the result.\n         * @permission ohos.permission.MICROPHONE\n         * @param { boolean } mute - Mute status to set. The value true means to mute the microphone, and false means the opposite.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#setMicrophoneMute\n         */\n        setMicrophoneMute(mute: boolean): Promise<void>;\n        /**\n         * Checks whether the microphone is muted. This method uses an asynchronous callback to return the query result.\n         * @permission ohos.permission.MICROPHONE\n         * @param { AsyncCallback<boolean> } callback - used to return the mute status of the microphone. The value\n         *        true means that the microphone is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#isMicrophoneMute\n         */\n        isMicrophoneMute(callback: AsyncCallback<boolean>): void;\n        /**\n         * Checks whether the microphone is muted. This method uses a promise to return the query result.\n         * @permission ohos.permission.MICROPHONE\n         * @returns { Promise<boolean> } Promise used to return the mute status of the microphone. The value\n         *          true means that the microphone is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#isMicrophoneMute\n         */\n        isMicrophoneMute(): Promise<boolean>;\n        /**\n         * Sets the ringer mode. This method uses an asynchronous callback to return the result.\n         * @permission ohos.permission.ACCESS_NOTIFICATION_POLICY\n         * @param { AudioRingMode } mode - Ringer mode.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#setRingerMode\n         */\n        setRingerMode(mode: AudioRingMode, callback: AsyncCallback<void>): void;\n        /**\n         * Sets the ringer mode. This method uses a promise to return the result.\n         * @permission ohos.permission.ACCESS_NOTIFICATION_POLICY\n         * @param { AudioRingMode } mode - Ringer mode.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#setRingerMode\n         */\n        setRingerMode(mode: AudioRingMode): Promise<void>;\n        /**\n         * Obtains the ringer mode. This method uses an asynchronous callback to return the query result.\n         * @param { AsyncCallback<AudioRingMode> } callback - Callback used to return the ringer mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#getRingerMode\n         */\n        getRingerMode(callback: AsyncCallback<AudioRingMode>): void;\n        /**\n         * Obtains the ringer mode. This method uses a promise to return the query result.\n         * @returns { Promise<AudioRingMode> } Promise used to return the ringer mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#getRingerMode\n         */\n        getRingerMode(): Promise<AudioRingMode>;\n        /**\n         * Sets an audio parameter. This method uses an asynchronous callback to return the result.\n         * @permission ohos.permission.MODIFY_AUDIO_SETTINGS\n         * @param { string } key - Key of the audio parameter to set.\n         * @param { string } value -  Value of the audio parameter to set.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioManager#setExtraParameters\n         */\n        setAudioParameter(key: string, value: string, callback: AsyncCallback<void>): void;\n        /**\n         * Sets an audio parameter. This method uses a promise to return the result.\n         * @permission ohos.permission.MODIFY_AUDIO_SETTINGS\n         * @param { string } key - Key of the audio parameter to set.\n         * @param { string } value - Value of the audio parameter to set.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioManager#setExtraParameters\n         */\n        setAudioParameter(key: string, value: string): Promise<void>;\n        /**\n         * Obtains the value of an audio parameter. This method uses an asynchronous callback to return the query result.\n         * @param { string } key - Key of the audio parameter whose value is to be obtained.\n         * @param { AsyncCallback<string> } callback - Callback used to return the value of the audio parameter.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioManager#getExtraParameters\n         */\n        getAudioParameter(key: string, callback: AsyncCallback<string>): void;\n        /**\n         * Obtains the value of an audio parameter. This method uses a promise to return the query result.\n         * @param { string } key - Key of the audio parameter whose value is to be obtained.\n         * @returns { Promise<string> } Promise used to return the value of the audio parameter.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 7\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioManager#getExtraParameters\n         */\n        getAudioParameter(key: string): Promise<string>;\n        /**\n         * Sets a device to the active state. Applications that are not in a call state cannot modify the calling device by this method.\n         * This method uses an asynchronous callback to return the result.\n         * @param { ActiveDeviceType } deviceType - Audio device type.\n         * @param { boolean } active - Active status to set. The value true means to set the device to the active\n         *        status, and false means the opposite.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioRoutingManager#setCommunicationDevice\n         */\n        setDeviceActive(deviceType: ActiveDeviceType, active: boolean, callback: AsyncCallback<void>): void;\n        /**\n         * Sets a device to the active state. Applications that are not in a call state cannot modify the calling device by this method.\n         * This method uses a promise to return the result.\n         * @param { ActiveDeviceType } deviceType - Audio device type.\n         * @param { boolean } active - Active status to set. The value true means to set the device to the active\n         *        status, and false means the opposite.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioRoutingManager#setCommunicationDevice\n         */\n        setDeviceActive(deviceType: ActiveDeviceType, active: boolean): Promise<void>;\n        /**\n         * Checks whether a device is active. This method uses an asynchronous callback to return the query result.\n         * @param { ActiveDeviceType } deviceType - Audio device type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the active status of the device.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioRoutingManager#isCommunicationDeviceActive\n         */\n        isDeviceActive(deviceType: ActiveDeviceType, callback: AsyncCallback<boolean>): void;\n        /**\n         * Checks whether a device is active. This method uses a promise to return the query result.\n         * @param { ActiveDeviceType } deviceType - Audio device type.\n         * @returns { Promise<boolean> } Promise used to return the active status of the device.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioRoutingManager#isCommunicationDeviceActive\n         */\n        isDeviceActive(deviceType: ActiveDeviceType): Promise<boolean>;\n        /**\n         * Obtains the audio scene mode. This method uses an asynchronous callback to return the query result.\n         * @param { AsyncCallback<AudioScene> } callback - Callback used to return the audio scene mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 8\n         */\n        /**\n         * Obtains the audio scene mode. This method uses an asynchronous callback to return the query result.\n         * @param { AsyncCallback<AudioScene> } callback - Callback used to return the audio scene mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        getAudioScene(callback: AsyncCallback<AudioScene>): void;\n        /**\n         * Obtains the audio scene mode. This method uses a promise to return the query result.\n         * @returns { Promise<AudioScene> } Promise used to return the audio scene mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 8\n         */\n        /**\n         * Obtains the audio scene mode. This method uses a promise to return the query result.\n         * @returns { Promise<AudioScene> } Promise used to return the audio scene mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        getAudioScene(): Promise<AudioScene>;\n        /**\n         * Obtains the audio scene mode.\n         * @returns { AudioScene } Current audio scene mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 10\n         */\n        /**\n         * Obtains the audio scene mode.\n         * @returns { AudioScene } Current audio scene mode.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        getAudioSceneSync(): AudioScene;\n        /**\n         * Subscribes to audio scene change events. When system changes to communication status, registered clients\n         * will receive the callback.\n         * @param { 'audioSceneChange' } type - Type of the event to listen for. Only the audioSceneChange event is\n         * supported.\n         * @param { Callback<AudioScene> } callback - Callback used to obtain the latest audio scene.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 20\n         */\n        on(type: 'audioSceneChange', callback: Callback<AudioScene>): void;\n        /**\n         * Unsubscribes to audio scene change events.\n         * @param { 'audioSceneChange' } type - Type of the event to listen for. Only the audioSceneChange event is\n         * supported.\n         * @param { Callback<AudioScene> } callback - Callback used in subscription.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 20\n         */\n        off(type: 'audioSceneChange', callback?: Callback<AudioScene>): void;\n        /**\n         * Subscribes to device change events. When a device is connected/disconnected, registered clients will receive\n         * the callback.\n         * @param { 'deviceChange' } type - Type of the event to listen for. Only the deviceChange event is supported.\n         * @param { Callback<DeviceChangeAction> } callback - Callback used to obtain the device update details.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioRoutingManager#event:deviceChange\n         */\n        on(type: 'deviceChange', callback: Callback<DeviceChangeAction>): void;\n        /**\n         * UnSubscribes to device change events.\n         * @param { 'deviceChange' } type - Type of the event to listen for. Only the deviceChange event is supported.\n         * @param { Callback<DeviceChangeAction> } callback - Callback used to obtain the device update details.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         * @deprecated since 9\n         * @useinstead ohos.multimedia.audio.AudioRoutingManager#event:deviceChange\n         */\n        off(type: 'deviceChange', callback?: Callback<DeviceChangeAction>): void;\n        /**\n         * Listens for audio interruption events. When the audio of an application is interrupted by another application,\n         * the callback is invoked to notify the former application.\n         * @param { 'interrupt' } type - Type of the event to listen for. Only the interrupt event is supported.\n         * @param { AudioInterrupt } interrupt - Parameters of the audio interruption event type.\n         * @param { Callback<InterruptAction> } callback - Callback invoked for the audio interruption event.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#event:audioInterrupt\n         */\n        on(type: 'interrupt', interrupt: AudioInterrupt, callback: Callback<InterruptAction>): void;\n        /**\n         * Cancels the listening of audio interruption events.\n         * @param { 'interrupt' } type - Type of the event to listen for. Only the interrupt event is supported.\n         * @param { AudioInterrupt } interrupt - Input parameters of the audio interruption event.\n         * @param { Callback<InterruptAction> } callback - Callback invoked for the audio interruption event.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#event:audioInterrupt\n         */\n        off(type: 'interrupt', interrupt: AudioInterrupt, callback?: Callback<InterruptAction>): void;\n        /**\n         * Obtains an {@link AudioVolumeManager} instance.\n         * @returns { AudioVolumeManager } AudioVolumeManager instance.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains an {@link AudioVolumeManager} instance.\n         * @returns { AudioVolumeManager } AudioVolumeManager instance.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getVolumeManager(): AudioVolumeManager;\n        /**\n         * Obtains an {@link AudioStreamManager} instance.\n         * @returns { AudioStreamManager } AudioStreamManager instance.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Obtains an {@link AudioStreamManager} instance.\n         * @returns { AudioStreamManager } AudioStreamManager instance.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        getStreamManager(): AudioStreamManager;\n        /**\n         * Obtains an {@link AudioRoutingManager} instance.\n         * @returns { AudioRoutingManager } AudioRoutingManager instance.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Obtains an {@link AudioRoutingManager} instance.\n         * @returns { AudioRoutingManager } AudioRoutingManager instance.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getRoutingManager(): AudioRoutingManager;\n        /**\n         * Obtains an {@link AudioSessionManager} instance.\n         * @returns { AudioSessionManager } AudioSessionManager instance.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        getSessionManager(): AudioSessionManager;\n        /**\n         * Obtains an {@link AudioSpatializationManager} instance.\n         * @returns { AudioSpatializationManager } AudioSpatializationManager instance.\n         * @syscap SystemCapability.Multimedia.Audio.Spatialization\n         * @since 18\n         */\n        getSpatializationManager(): AudioSpatializationManager;\n    }\n    /**\n     * Desribes audio device block status. By default, the device is consider as unblocked.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 13\n     */\n    enum DeviceBlockStatus {\n        /**\n         * Device is unblocked.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 13\n         */\n        UNBLOCKED = 0,\n        /**\n         * Device is blocked.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 13\n         */\n        BLOCKED = 1\n    }\n    /**\n     * Desribes audio device block status info.\n     * @typedef DeviceBlockStatusInfo\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 13\n     */\n    interface DeviceBlockStatusInfo {\n        /**\n         * Device block status.\n         * @type {DeviceBlockStatus}\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 13\n         */\n        blockStatus: DeviceBlockStatus;\n        /**\n         * Audio device descriptors whose block status has changed.\n         * @type {AudioDeviceDescriptors}\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 13\n         */\n        devices: AudioDeviceDescriptors;\n    }\n    /**\n     * Implements audio router management.\n     * @typedef AudioRoutingManager\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 9\n     */\n    /**\n     * Implements audio router management.\n     * @typedef AudioRoutingManager\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioRoutingManager {\n        /**\n         * Obtains the audio devices with a specific flag. This method uses an asynchronous callback to return the query result.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the device list.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Obtains the audio devices with a specific flag. This method uses an asynchronous callback to return the query result.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the device list.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getDevices(deviceFlag: DeviceFlag, callback: AsyncCallback<AudioDeviceDescriptors>): void;\n        /**\n         * Obtains the audio devices with a specific flag. This method uses a promise to return the query result.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the device list.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Obtains the audio devices with a specific flag. This method uses a promise to return the query result.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the device list.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getDevices(deviceFlag: DeviceFlag): Promise<AudioDeviceDescriptors>;\n        /**\n         * Obtains the audio devices with a specific flag.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @returns { AudioDeviceDescriptors } The device list.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Obtains the audio devices with a specific flag.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @returns { AudioDeviceDescriptors } The device list.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getDevicesSync(deviceFlag: DeviceFlag): AudioDeviceDescriptors;\n        /**\n         * Subscribes to device change events. When a device is connected/disconnected, registered clients will receive\n         * the callback.\n         * @param { 'deviceChange' } type - Type of the event to listen for. Only the deviceChange event is supported.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @param { Callback<DeviceChangeAction> } callback - Callback used to obtain the device update details.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Subscribes to device change events. When a device is connected/disconnected, registered clients will receive\n         * the callback.\n         * @param { 'deviceChange' } type - Type of the event to listen for. Only the deviceChange event is supported.\n         * @param { DeviceFlag } deviceFlag - Audio device flag.\n         * @param { Callback<DeviceChangeAction> } callback - Callback used to obtain the device update details.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'deviceChange', deviceFlag: DeviceFlag, callback: Callback<DeviceChangeAction>): void;\n        /**\n         * UnSubscribes to device change events.\n         * @param { 'deviceChange' } type - Type of the event to listen for. Only the deviceChange event is supported.\n         * @param { Callback<DeviceChangeAction> } callback - Callback used to obtain the device update details.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * UnSubscribes to device change events.\n         * @param { 'deviceChange' } type - Type of the event to listen for. Only the deviceChange event is supported.\n         * @param { Callback<DeviceChangeAction> } callback - Callback used to obtain the device update details.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'deviceChange', callback?: Callback<DeviceChangeAction>): void;\n        /**\n         * Obtains all the available audio devices with a specific device usage.\n         * @param { DeviceUsage } deviceUsage - Audio device usage.\n         * @returns { AudioDeviceDescriptors } The device list.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        getAvailableDevices(deviceUsage: DeviceUsage): AudioDeviceDescriptors;\n        /**\n         * Subscribes to available device change events. When a device is connected/disconnected, registered clients will receive\n         * the callback.\n         * @param { 'availableDeviceChange' } type - Type of the event to listen for. Only the availableDeviceChange event is supported.\n         * @param { DeviceUsage } deviceUsage - Audio device usage.\n         * @param { Callback<DeviceChangeAction> } callback - Callback used to obtain the device update details.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        on(type: 'availableDeviceChange', deviceUsage: DeviceUsage, callback: Callback<DeviceChangeAction>): void;\n        /**\n         * UnSubscribes to available device change events.\n         * @param { 'availableDeviceChange' } type - Type of the event to listen for. Only the availableDeviceChange event is supported.\n         * @param { Callback<DeviceChangeAction> } callback - Callback used to obtain the device update details.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 12\n         */\n        off(type: 'availableDeviceChange', callback?: Callback<DeviceChangeAction>): void;\n        /**\n         * Sets a device to the active state. This method uses an asynchronous callback to return the result.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @param { boolean } active - Active status to set. The value true means to set the device to\n         *  the active status, and false means the opposite.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 9\n         */\n        /**\n         * Sets a device to the active state. Only the current calling application can be set to take effect.\n         * This method uses an asynchronous callback to return the result.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @param { boolean } active - Active status to set. The value true means to set the device to\n         *  the active status, and false means the opposite.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        setCommunicationDevice(deviceType: CommunicationDeviceType, active: boolean, callback: AsyncCallback<void>): void;\n        /**\n         * Sets a device to the active state. This method uses a promise to return the result.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @param { boolean } active - Active status to set. The value true means to set the device to the active status,\n         * and false means the opposite.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 9\n         */\n        /**\n         * Sets a device to the active state. Only the current calling application can be set to take effect.\n         * This method uses a promise to return the result.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @param { boolean } active - Active status to set. The value true means to set the device to the active status,\n         * and false means the opposite.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        setCommunicationDevice(deviceType: CommunicationDeviceType, active: boolean): Promise<void>;\n        /**\n         * Checks whether a device is active. This method uses an asynchronous callback to return the query result.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the active status of the device.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 9\n         */\n        /**\n         * Checks whether a device is active. This method uses an asynchronous callback to return the query result.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the active status of the device.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        isCommunicationDeviceActive(deviceType: CommunicationDeviceType, callback: AsyncCallback<boolean>): void;\n        /**\n         * Checks whether a device is active. This method uses a promise to return the query result.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @returns { Promise<boolean> } Promise used to return the active status of the device.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 9\n         */\n        /**\n         * Checks whether a device is active. This method uses a promise to return the query result.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @returns { Promise<boolean> } Promise used to return the active status of the device.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        isCommunicationDeviceActive(deviceType: CommunicationDeviceType): Promise<boolean>;\n        /**\n         * Checks whether a device is active.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @returns { boolean } The active status of the device.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @since 10\n         */\n        /**\n         * Checks whether a device is active.\n         * @param { CommunicationDeviceType } deviceType - Audio device type.\n         * @returns { boolean } The active status of the device.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Communication\n         * @crossplatform\n         * @since 12\n         */\n        isCommunicationDeviceActiveSync(deviceType: CommunicationDeviceType): boolean;\n        /**\n         * Get output device for target audio renderer info.\n         * @param { AudioRendererInfo } rendererInfo - Audio renderer information\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by callback.\n         * @throws { BusinessError } 6800301 - System error. Return by callback.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Get output device for target audio renderer info.\n         * @param { AudioRendererInfo } rendererInfo - Audio renderer information\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by callback.\n         * @throws { BusinessError } 6800301 - System error. Return by callback.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getPreferOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo, callback: AsyncCallback<AudioDeviceDescriptors>): void;\n        /**\n         * Get output device for target audio renderer info.\n         * @param { AudioRendererInfo } rendererInfo - Audio renderer information.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @throws { BusinessError } 6800301 - System error. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Get output device for target audio renderer info.\n         * @param { AudioRendererInfo } rendererInfo - Audio renderer information.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @throws { BusinessError } 6800301 - System error. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getPreferOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo): Promise<AudioDeviceDescriptors>;\n        /**\n         * Gets preferred output device for target audio renderer info.\n         * @param { AudioRendererInfo } rendererInfo - Audio renderer information.\n         * @returns { AudioDeviceDescriptors } The preferred devices.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Gets preferred output device for target audio renderer info.\n         * @param { AudioRendererInfo } rendererInfo - Audio renderer information.\n         * @returns { AudioDeviceDescriptors } The preferred devices.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getPreferredOutputDeviceForRendererInfoSync(rendererInfo: AudioRendererInfo): AudioDeviceDescriptors;\n        /**\n         * Subscribes to prefer output device change events. When prefer device for target audio renderer info changes,\n         * registered clients will receive the callback.\n         * @param { 'preferOutputDeviceChangeForRendererInfo' } type - Type of the event to listen for. Only the\n         * preferOutputDeviceChangeForRendererInfo event is supported.\n         * @param { AudioRendererInfo } rendererInfo - Audio renderer information.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to obtain the changed prefer devices information.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Subscribes to prefer output device change events. When prefer device for target audio renderer info changes,\n         * registered clients will receive the callback.\n         * @param { 'preferOutputDeviceChangeForRendererInfo' } type - Type of the event to listen for. Only the\n         * preferOutputDeviceChangeForRendererInfo event is supported.\n         * @param { AudioRendererInfo } rendererInfo - Audio renderer information.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to obtain the changed prefer devices information.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'preferOutputDeviceChangeForRendererInfo', rendererInfo: AudioRendererInfo, callback: Callback<AudioDeviceDescriptors>): void;\n        /**\n         * UnSubscribes to prefer output device change events.\n         * @param { 'preferOutputDeviceChangeForRendererInfo' } type - Type of the event to listen for. Only the\n         * preferOutputDeviceChangeForRendererInfo event is supported.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to obtain the changed prefer devices in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * UnSubscribes to prefer output device change events.\n         * @param { 'preferOutputDeviceChangeForRendererInfo' } type - Type of the event to listen for. Only the\n         * preferOutputDeviceChangeForRendererInfo event is supported.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to obtain the changed prefer devices in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'preferOutputDeviceChangeForRendererInfo', callback?: Callback<AudioDeviceDescriptors>): void;\n        /**\n         * Get input device for target audio capturer info.\n         * @param { AudioCapturerInfo } capturerInfo - Audio capturer information.\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by callback.\n         * @throws { BusinessError } 6800301 - System error. Return by callback.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Get input device for target audio capturer info.\n         * @param { AudioCapturerInfo } capturerInfo - Audio capturer information.\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by callback.\n         * @throws { BusinessError } 6800301 - System error. Return by callback.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getPreferredInputDeviceForCapturerInfo(capturerInfo: AudioCapturerInfo, callback: AsyncCallback<AudioDeviceDescriptors>): void;\n        /**\n         * Get input device for target audio capturer info.\n         * @param { AudioCapturerInfo } capturerInfo - Audio capturer information.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @throws { BusinessError } 6800301 - System error. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Get input device for target audio capturer info.\n         * @param { AudioCapturerInfo } capturerInfo - Audio capturer information.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @throws { BusinessError } 6800301 - System error. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getPreferredInputDeviceForCapturerInfo(capturerInfo: AudioCapturerInfo): Promise<AudioDeviceDescriptors>;\n        /**\n         * Subscribes to preferred input device change events. When preferred device for target audio capturer info changes,\n         * registered clients will receive the callback.\n         * @param { 'preferredInputDeviceChangeForCapturerInfo' } type - Type of the event to listen for.\n         * @param { AudioCapturerInfo } capturerInfo - Audio capturer information.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to obtain the changed preferred devices information.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Subscribes to preferred input device change events. When preferred device for target audio capturer info changes,\n         * registered clients will receive the callback.\n         * @param { 'preferredInputDeviceChangeForCapturerInfo' } type - Type of the event to listen for.\n         * @param { AudioCapturerInfo } capturerInfo - Audio capturer information.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to obtain the changed preferred devices information.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'preferredInputDeviceChangeForCapturerInfo', capturerInfo: AudioCapturerInfo, callback: Callback<AudioDeviceDescriptors>): void;\n        /**\n         * Unsubscribes to preferred input device change events.\n         * @param { 'preferredInputDeviceChangeForCapturerInfo' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to obtain the changed preferred devices in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Unsubscribes to preferred input device change events.\n         * @param { 'preferredInputDeviceChangeForCapturerInfo' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to obtain the changed preferred devices in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'preferredInputDeviceChangeForCapturerInfo', callback?: Callback<AudioDeviceDescriptors>): void;\n        /**\n         * Gets preferred input device for target audio capturer info.\n         * @param { AudioCapturerInfo } capturerInfo - Audio capturer information.\n         * @returns { AudioDeviceDescriptors } The preferred devices.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Gets preferred input device for target audio capturer info.\n         * @param { AudioCapturerInfo } capturerInfo - Audio capturer information.\n         * @returns { AudioDeviceDescriptors } The preferred devices.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getPreferredInputDeviceForCapturerInfoSync(capturerInfo: AudioCapturerInfo): AudioDeviceDescriptors;\n        /**\n         * Query whether microphone block detection is supported on current device.\n         * @returns { Promise<boolean> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 13\n         */\n        isMicBlockDetectionSupported(): Promise<boolean>;\n        /**\n         * Subscribes microphone blocked events. Before subscribing, users should query whether block detection is supported\n         * on current device. The caller will receive the callback only when it is recording and the used\n         * microphones' block status have changed. Currently, block detecting is only support for microphones located on\n         * the local device.\n         * @param { 'micBlockStatusChanged' } type - Type of the event to listen for.\n         * @param { Callback<DeviceBlockStatusInfo> } callback - Callback used to obtain the microphone block status.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 13\n         */\n        on(type: 'micBlockStatusChanged', callback: Callback<DeviceBlockStatusInfo>): void;\n        /**\n         * Unsubscribes microphone blocked events.\n         * @param { 'microphoneBlockStatusChanged' } type - Type of the event to listen for.\n         * @param { Callback<DeviceBlockStatusInfo> } callback - Callback used to obtain the microphone block status.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 13\n         */\n        off(type: 'micBlockStatusChanged', callback?: Callback<DeviceBlockStatusInfo>): void;\n    }\n    /**\n     * Implements audio stream management.\n     * @typedef AudioStreamManager\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 9\n     */\n    /**\n     * Implements audio stream management.\n     * @typedef AudioStreamManager\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioStreamManager {\n        /**\n         * Get information of current existing audio renderers.\n         * @param { AsyncCallback<AudioRendererChangeInfoArray> } callback - Callback used to return the information\n         * of current existing audio renderers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Get information of current existing audio renderers.\n         * @param { AsyncCallback<AudioRendererChangeInfoArray> } callback - Callback used to return the information\n         * of current existing audio renderers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentAudioRendererInfoArray(callback: AsyncCallback<AudioRendererChangeInfoArray>): void;\n        /**\n         * Get information of current existing audio renderers.\n         * @returns { Promise<AudioRendererChangeInfoArray> } Promise used to return the information of current\n         * existing audio renderers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Get information of current existing audio renderers.\n         * @returns { Promise<AudioRendererChangeInfoArray> } Promise used to return the information of current\n         * existing audio renderers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentAudioRendererInfoArray(): Promise<AudioRendererChangeInfoArray>;\n        /**\n         * Get information of current existing audio renderers.\n         * @returns { AudioRendererChangeInfoArray } The information of current existing audio renderers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Get information of current existing audio renderers.\n         * @returns { AudioRendererChangeInfoArray } The information of current existing audio renderers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentAudioRendererInfoArraySync(): AudioRendererChangeInfoArray;\n        /**\n         * Get information of current existing audio capturers.\n         * @param { AsyncCallback<AudioCapturerChangeInfoArray> } callback - Callback used to return the information\n         * of current existing audio capturers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Get information of current existing audio capturers.\n         * @param { AsyncCallback<AudioCapturerChangeInfoArray> } callback - Callback used to return the information\n         * of current existing audio capturers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentAudioCapturerInfoArray(callback: AsyncCallback<AudioCapturerChangeInfoArray>): void;\n        /**\n         * Get information of current existing audio capturers.\n         * @returns { Promise<AudioCapturerChangeInfoArray> } Promise used to return the information of current existing\n         * audio capturers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Get information of current existing audio capturers.\n         * @returns { Promise<AudioCapturerChangeInfoArray> } Promise used to return the information of current existing\n         * audio capturers.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentAudioCapturerInfoArray(): Promise<AudioCapturerChangeInfoArray>;\n        /**\n         * Get information of current existing audio capturers.\n         * @returns { AudioCapturerChangeInfoArray } The information of current existing audio capturers.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 10\n         */\n        /**\n         * Get information of current existing audio capturers.\n         * @returns { AudioCapturerChangeInfoArray } The information of current existing audio capturers.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentAudioCapturerInfoArraySync(): AudioCapturerChangeInfoArray;\n        /**\n         * Gets information of audio effects.\n         * @param { StreamUsage } usage - Stream usage.\n         * @param { AsyncCallback<AudioEffectInfoArray> } callback - Callback used to return the information of audio effects.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by callback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        getAudioEffectInfoArray(usage: StreamUsage, callback: AsyncCallback<AudioEffectInfoArray>): void;\n        /**\n         * Gets information of audio effects.\n         * @param { StreamUsage } usage - Stream usage.\n         * @returns { Promise<AudioEffectInfoArray> } Promise used to return the information of audio effects.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        getAudioEffectInfoArray(usage: StreamUsage): Promise<AudioEffectInfoArray>;\n        /**\n         * Gets information of audio effects.\n         * @param { StreamUsage } usage - Stream usage.\n         * @returns { AudioEffectInfoArray } The information of audio effects.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        getAudioEffectInfoArraySync(usage: StreamUsage): AudioEffectInfoArray;\n        /**\n         * Listens for audio renderer change events. When there is any audio renderer change,\n         * registered clients will receive the callback.\n         * @param { 'audioRendererChange' } type - Type of the event to listen for. Only the audioRendererChange event is supported.\n         * @param { Callback<AudioRendererChangeInfoArray> } callback - Callback invoked for the audio renderer change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Listens for audio renderer change events. When there is any audio renderer change,\n         * registered clients will receive the callback.\n         * @param { 'audioRendererChange' } type - Type of the event to listen for. Only the audioRendererChange event is supported.\n         * @param { Callback<AudioRendererChangeInfoArray> } callback - Callback invoked for the audio renderer change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'audioRendererChange', callback: Callback<AudioRendererChangeInfoArray>): void;\n        /**\n         * UnSubscribes to audio renderer change events.\n         * @param { 'audioRendererChange' } type - Type of the event to listen for. Only the audioRendererChange event is supported.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * UnSubscribes to audio renderer change events.\n         * @param { 'audioRendererChange' } type - Type of the event to listen for. Only the audioRendererChange event is supported.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        /**\n         * Unsubscribes to audio renderer change events.\n         * @param { 'audioRendererChange' } type - Type of the event to listen for. Only the audioRendererChange event is supported.\n         * @param { Callback<AudioRendererChangeInfoArray> } callback - Callback invoked for the audio renderer change event.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 18\n         */\n        off(type: 'audioRendererChange', callback?: Callback<AudioRendererChangeInfoArray>): void;\n        /**\n         * Listens for audio capturer change events. When there is any audio capturer change,\n         * registered clients will receive the callback.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for. Only the audioCapturerChange event is supported.\n         * @param { Callback<AudioCapturerChangeInfoArray> } callback - Callback invoked for the audio capturer change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 9\n         */\n        /**\n         * Listens for audio capturer change events. When there is any audio capturer change,\n         * registered clients will receive the callback.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for. Only the audioCapturerChange event is supported.\n         * @param { Callback<AudioCapturerChangeInfoArray> } callback - Callback invoked for the audio capturer change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'audioCapturerChange', callback: Callback<AudioCapturerChangeInfoArray>): void;\n        /**\n         * UnSubscribes to audio capturer change events.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for. Only the audioCapturerChange event is supported.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 9\n         */\n        /**\n         * UnSubscribes to audio capturer change events.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for. Only the audioCapturerChange event is supported.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        /**\n         * Unsubscribes to audio capturer change events.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for. Only the audioCapturerChange event is supported.\n         * @param { Callback<AudioCapturerChangeInfoArray> } callback - Callback invoked for the audio capturer change event.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 18\n         */\n        off(type: 'audioCapturerChange', callback?: Callback<AudioCapturerChangeInfoArray>): void;\n        /**\n         * Checks whether a stream is active. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the active status of the stream.\n         *  The value true means that the stream is active, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Checks whether a stream is active. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the active status of the stream.\n         *  The value true means that the stream is active, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        isActive(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void;\n        /**\n         * Checks whether a stream is active. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<boolean> } Promise used to return the active status of the stream. The value\n         * true means that the stream is active, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Checks whether a stream is active. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<boolean> } Promise used to return the active status of the stream. The value\n         * true means that the stream is active, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        isActive(volumeType: AudioVolumeType): Promise<boolean>;\n        /**\n         * Checks whether a stream is active.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { boolean } The active status of the stream.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Checks whether a stream is active.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { boolean } The active status of the stream.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        isActiveSync(volumeType: AudioVolumeType): boolean;\n        /**\n         * Checks whether the specified audio source type supports echo cancellation\n         * @param { SourceType } sourceType Type of audio source.\n         * @returns { boolean } Check result. The value true means that the audio source type supports echo cancellation, and false means the opposite.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 20\n         */\n        isAcousticEchoCancelerSupported(sourceType: SourceType): boolean;\n    }\n    /**\n     * Audio concurrency mode.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioConcurrencyMode {\n        /**\n         * Default concurrency mode.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CONCURRENCY_DEFAULT = 0,\n        /**\n         * Mix with others mode.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CONCURRENCY_MIX_WITH_OTHERS = 1,\n        /**\n         * Duck others mode.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CONCURRENCY_DUCK_OTHERS = 2,\n        /**\n         * Pause others mode.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CONCURRENCY_PAUSE_OTHERS = 3\n    }\n    /**\n     * Audio session deactivated reason.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioSessionDeactivatedReason {\n        /**\n         * Lower priority.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        DEACTIVATED_LOWER_PRIORITY = 0,\n        /**\n         * Time out.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        DEACTIVATED_TIMEOUT = 1\n    }\n    /**\n     * Audio session strategy.\n     * @typedef AudioSessionStrategy\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioSessionStrategy {\n        /**\n         * Audio concurrency mode.\n         * @type { AudioConcurrencyMode }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        concurrencyMode: AudioConcurrencyMode;\n    }\n    /**\n     * Audio session deactivated event.\n     * @typedef AudioSessionDeactivatedEvent\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioSessionDeactivatedEvent {\n        /**\n         * Audio session deactivated reason.\n         * @type { AudioSessionDeactivatedReason }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        reason: AudioSessionDeactivatedReason;\n    }\n    /**\n     * Implements audio session management.\n     * @typedef AudioSessionManager\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioSessionManager {\n        /**\n         * Activate the audio session for the current pid application.\n         * @param { AudioSessionStrategy } strategy - Audio session strategy.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters unspecified.\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @throws { BusinessError } 6800301 - System error. Returned by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        activateAudioSession(strategy: AudioSessionStrategy): Promise<void>;\n        /**\n         * Deactivate the audio session for the current pid application.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 6800301 - System error. Returned by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        deactivateAudioSession(): Promise<void>;\n        /**\n         * Check whether the audio session is activated for the current pid application.\n         * @returns { boolean } The active audio session status for the current pid application.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        isAudioSessionActivated(): boolean;\n        /**\n         * Listens for audio session deactivated event. When the audio session is deactivated,\n         * registered clients will receive the callback.\n         * @param { 'audioSessionDeactivated' } type - Type of the event to listen for. Only the audioSessionDeactivated event is supported.\n         * @param { Callback<AudioSessionDeactivatedEvent> } callback - Callback invoked for the audio session deactivated event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters unspecified.\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'audioSessionDeactivated', callback: Callback<AudioSessionDeactivatedEvent>): void;\n        /**\n        * Unsubscribes to audio session deactivated event.\n        * @param { 'audioSessionDeactivated' } type - Type of the event to listen for. Only the audioSessionDeactivated event is supported.\n        * @param { Callback<AudioSessionDeactivatedEvent> } callback - Callback invoked for the audio session deactivated event.\n        * @throws { BusinessError } 401 - Parameter error. Possible causes:\n        *                                 1.Mandatory parameters are left unspecified;\n        *                                 2.Incorrect parameter types.\n        * @throws { BusinessError } 6800101 - Parameter verification failed.\n        * @syscap SystemCapability.Multimedia.Audio.Core\n        * @crossplatform\n        * @since 12\n        */\n        off(type: 'audioSessionDeactivated', callback?: Callback<AudioSessionDeactivatedEvent>): void;\n    }\n    /**\n     * Implements audio volume management.\n     * @typedef AudioVolumeManager\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @since 9\n     */\n    /**\n     * Implements audio volume management.\n     * @typedef AudioVolumeManager\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioVolumeManager {\n        /**\n         * Obtains an AudioVolumeGroupManager instance. This method uses an asynchronous callback to return the result.\n         * @param { number } groupId - volume group id, use LOCAL_VOLUME_GROUP_ID in default\n         * @param { AsyncCallback<AudioVolumeGroupManager> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains an AudioVolumeGroupManager instance. This method uses an asynchronous callback to return the result.\n         * @param { number } groupId - volume group id, use LOCAL_VOLUME_GROUP_ID in default\n         * @param { AsyncCallback<AudioVolumeGroupManager> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getVolumeGroupManager(groupId: number, callback: AsyncCallback<AudioVolumeGroupManager>): void;\n        /**\n         * Obtains an AudioVolumeGroupManager instance. This method uses a promise to return the result.\n         * @param { number } groupId - volume group id, use LOCAL_VOLUME_GROUP_ID in default\n         * @returns { Promise<AudioVolumeGroupManager> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains an AudioVolumeGroupManager instance. This method uses a promise to return the result.\n         * @param { number } groupId - volume group id, use {@link DEFAULT_VOLUME_GROUP_ID} in default\n         * @returns { Promise<AudioVolumeGroupManager> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getVolumeGroupManager(groupId: number): Promise<AudioVolumeGroupManager>;\n        /**\n         * Obtains an AudioVolumeGroupManager instance.\n         * @param { number } groupId - volume group id, use LOCAL_VOLUME_GROUP_ID in default\n         * @returns { AudioVolumeGroupManager } The audio volume group manager instance.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Obtains an AudioVolumeGroupManager instance.\n         * @param { number } groupId - volume group id, use {@link DEFAULT_VOLUME_GROUP_ID} in default\n         * @returns { AudioVolumeGroupManager } The audio volume group manager instance.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getVolumeGroupManagerSync(groupId: number): AudioVolumeGroupManager;\n        /**\n         * Get the volume for your app with range from 0 to 100. Applications with the same uid share the same volume.\n         * @returns { Promise<number> } The application's volume percentage. The value range is from 0 to 100.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 19\n         */\n        getAppVolumePercentage(): Promise<number>;\n        /**\n         * Sets the volume for your app with range from 0 to 100. Applications with the same uid share the same volume.\n         * Only AudioRenderers with {@link AudioRendererInfo.volumeMode} set to {@link AudioVolumeMode.APP_INDIVIDUAL}\n         * will be affected by this volume.\n         * When you change your app's volume, your will receive 'appVolumeChange' callback event.\n         * Your app volume can be also changed by other system settings, and you can monitor the changes through\n         * 'appVolumeChange' callback.\n         * @param { number } volume - Volume to set. The value range is from 0 to 100.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @throws { BusinessError } 6800301 - Crash or blocking occurs in system process.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 19\n         */\n        setAppVolumePercentage(volume: number): Promise<void>;\n        /**\n         * Listens for system volume change events. This method uses a callback to get volume change events.\n         * @param { 'volumeChange' } type - Type of the event to listen for. Only the volumeChange event is supported.\n         * @param { Callback<VolumeEvent> } callback - Callback used to get the system volume change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Listens for system volume change events. This method uses a callback to get volume change events.\n         * @param { 'volumeChange' } type - Type of the event to listen for. Only the volumeChange event is supported.\n         * @param { Callback<VolumeEvent> } callback - Callback used to get the system volume change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'volumeChange', callback: Callback<VolumeEvent>): void;\n        /**\n         * Unsubscribes to the volume change events..\n         * @param { 'volumeChange' } type - Type of the event to be unregistered. Only the volumeChange event is supported.\n         * @param { Callback<VolumeEvent> } callback - Callback used to obtain the invoking volume change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters missing;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 12\n         */\n        off(type: 'volumeChange', callback?: Callback<VolumeEvent>): void;\n        /**\n         * Listens for app volume change events. The app volume may changed by your called {@link setAppVolumePercentage}\n         * or other system settings.\n         * @param { 'appVolumeChange' } type - Type of the event to listen for. Only the appVolumeChange event is supported.\n         * @param { Callback<VolumeEvent> } callback - Callback used to get the app volume change event.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 19\n         */\n        on(type: 'appVolumeChange', callback: Callback<VolumeEvent>): void;\n        /**\n         * Unsubscribes to the app volume change events..\n         * @param { 'appVolumeChange' } type - Type of the event to be unregistered. Only the appVolumeChange event\n         * is supported.\n         * @param { Callback<VolumeEvent> } callback - Callback used to obtain the invoking volume change event.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 19\n         */\n        off(type: 'appVolumeChange', callback?: Callback<VolumeEvent>): void;\n    }\n    /**\n     * Implements audio volume group management.\n     * @typedef AudioVolumeGroupManager\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @since 9\n     */\n    /**\n     * Implements audio volume group management.\n     * @typedef AudioVolumeGroupManager\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioVolumeGroupManager {\n        /**\n         * Obtains the volume of a stream. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains the volume of a volume type. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the volume of a stream. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<number> } Promise used to return the volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains the volume of a volume type. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { Promise<number> } Promise used to return the volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getVolume(volumeType: AudioVolumeType): Promise<number>;\n        /**\n         * Obtains the volume of a stream.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { number } Current system volume level.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Obtains the volume of a volume type.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { number } Current system volume level.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getVolumeSync(volumeType: AudioVolumeType): number;\n        /**\n         * Obtains the minimum volume allowed for a stream. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the minimum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains the minimum volume allowed for a volume type. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the minimum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getMinVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the minimum volume allowed for a stream. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<number> } Promise used to return the minimum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains the minimum volume allowed for a volume type. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { Promise<number> } Promise used to return the minimum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getMinVolume(volumeType: AudioVolumeType): Promise<number>;\n        /**\n         * Obtains the minimum volume allowed for a stream.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { number } Min volume level.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Obtains the minimum volume allowed for a volume type.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { number } Min volume level.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getMinVolumeSync(volumeType: AudioVolumeType): number;\n        /**\n         * Obtains the maximum volume allowed for a stream. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the maximum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains the maximum volume allowed for a volume type. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the maximum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getMaxVolume(volumeType: AudioVolumeType, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the maximum volume allowed for a stream. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<number> } Promise used to return the maximum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains the maximum volume allowed for a volume type. This method uses a promise to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { Promise<number> } Promise used to return the maximum volume.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getMaxVolume(volumeType: AudioVolumeType): Promise<number>;\n        /**\n         * Obtains the maximum volume allowed for a stream.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { number } Max volume level.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Obtains the maximum volume allowed for a volume type.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { number } Max volume level.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getMaxVolumeSync(volumeType: AudioVolumeType): number;\n        /**\n         * Checks whether a stream is muted. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the mute status of the stream. The\n         * value true means that the stream is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Checks whether a volume type is muted. This method uses an asynchronous callback to return the query result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { AsyncCallback<boolean> } callback - Callback used to return the mute status of the volume type. The\n         * value true means that the volume type is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        isMute(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void;\n        /**\n         * Checks whether a stream is muted. This method uses a promise to return the result.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { Promise<boolean> } Promise used to return the mute status of the stream. The value true\n         * means that the stream is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Checks whether a volume type is muted. This method uses a promise to return the result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { Promise<boolean> } Promise used to return the mute status of the volume type. The value true\n         * means that the volume type is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        isMute(volumeType: AudioVolumeType): Promise<boolean>;\n        /**\n         * Checks whether a stream is muted.\n         * @param { AudioVolumeType } volumeType - Audio stream type.\n         * @returns { boolean } The mute status of the stream. The value true\n         * means that the stream is muted, and false means the opposite.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Checks whether a volume type is muted.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @returns { boolean } The mute status of the volume type. The value true\n         * means that the volume type is muted, and false means the opposite.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        isMuteSync(volumeType: AudioVolumeType): boolean;\n        /**\n         * Obtains the ringer mode. This method uses an asynchronous callback to return the query result.\n         * @param { AsyncCallback<AudioRingMode> } callback - Callback used to return the ringer mode.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains the ringer mode. This method uses an asynchronous callback to return the query result.\n         * @param { AsyncCallback<AudioRingMode> } callback - Callback used to return the ringer mode.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getRingerMode(callback: AsyncCallback<AudioRingMode>): void;\n        /**\n         * Obtains the ringer mode. This method uses a promise to return the query result.\n         * @returns { Promise<AudioRingMode> } Promise used to return the ringer mode.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Obtains the ringer mode. This method uses a promise to return the query result.\n         * @returns { Promise<AudioRingMode> } Promise used to return the ringer mode.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getRingerMode(): Promise<AudioRingMode>;\n        /**\n         * Obtains the ringer mode.\n         * @returns { AudioRingMode } Current ringer mode.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Obtains the ringer mode.\n         * @returns { AudioRingMode } Current ringer mode.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getRingerModeSync(): AudioRingMode;\n        /**\n         * Listens for ringer mode change events. This method uses a callback to get ringer mode changes.\n         * @param { 'ringerModeChange' } type - Type of the event to listen for. Only the ringerModeChange event is supported.\n         * @param { Callback<AudioRingMode> } callback - Callback used to get the updated ringer mode.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        on(type: 'ringerModeChange', callback: Callback<AudioRingMode>): void;\n        /**\n         * Unsubscribes to the ringer mode state change events.\n         * @param { 'ringerModeChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioRingMode> } callback - Callback used to get the updated ringer mode.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 18\n         */\n        off(type: 'ringerModeChange', callback?: Callback<AudioRingMode>): void;\n        /**\n         * Mutes or unmutes the microphone. This method uses an asynchronous callback to return the result.\n         * @permission ohos.permission.MANAGE_AUDIO_CONFIG\n         * @param { boolean } mute - Mute status to set. The value true means to mute the microphone, and false means the opposite.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#setMicMute\n         */\n        setMicrophoneMute(mute: boolean, callback: AsyncCallback<void>): void;\n        /**\n         * Mutes or unmutes the microphone. This method uses a promise to return the result.\n         * @permission ohos.permission.MANAGE_AUDIO_CONFIG\n         * @param { boolean } mute - Mute status to set. The value true means to mute the microphone, and false means the opposite.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioVolumeGroupManager#setMicMute\n         */\n        setMicrophoneMute(mute: boolean): Promise<void>;\n        /**\n         * Checks whether the microphone is muted. This method uses an asynchronous callback to return the query result.\n         * @param { AsyncCallback<boolean> } callback - used to return the mute status of the microphone. The value\n         * true means that the microphone is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Checks whether the microphone is muted. This method uses an asynchronous callback to return the query result.\n         * @param { AsyncCallback<boolean> } callback - used to return the mute status of the microphone. The value\n         * true means that the microphone is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        isMicrophoneMute(callback: AsyncCallback<boolean>): void;\n        /**\n         * Checks whether the microphone is muted. This method uses a promise to return the query result.\n         * @returns { Promise<boolean> } Promise used to return the mute status of the microphone. The value true\n         * means that the microphone is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Checks whether the microphone is muted. This method uses a promise to return the query result.\n         * @returns { Promise<boolean> } Promise used to return the mute status of the microphone. The value true\n         * means that the microphone is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        isMicrophoneMute(): Promise<boolean>;\n        /**\n         * Checks whether the microphone is muted.\n         * @returns { boolean } The mute status of the microphone. The value true\n         * means that the microphone is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Checks whether the microphone is muted.\n         * @returns { boolean } The mute status of the microphone. The value true\n         * means that the microphone is muted, and false means the opposite.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        isMicrophoneMuteSync(): boolean;\n        /**\n         * Listens for system microphone state change events. This method uses a callback to get microphone change events.\n         * @param { 'micStateChange' } type - Type of the event to listen for. Only the micStateChange event is supported.\n         * @param { Callback<MicStateChangeEvent> } callback - Callback used to get the system microphone state change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        on(type: 'micStateChange', callback: Callback<MicStateChangeEvent>): void;\n        /**\n         * Unsubscribes to the microphone state change events.\n         * @param { 'micStateChange' } type - Type of the event to listen for.\n         * @param { Callback<MicStateChangeEvent> } callback - Callback used to get the system microphone state change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters missing;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 12\n         */\n        off(type: 'micStateChange', callback?: Callback<MicStateChangeEvent>): void;\n        /**\n         * Gets if this volume group is volume unadjustable.\n         * @returns { boolean } Whether it is volume unadjustable.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Gets if this volume group is volume unadjustable.\n         * @returns { boolean } Whether it is volume unadjustable.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        isVolumeUnadjustable(): boolean;\n        /**\n         * Gets the volume db value that system calculate by volume type, volume level and device type.\n         * This method uses an asynchronous callback to return the result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { number } volumeLevel - Volume level to set.\n         * @param { DeviceType } device - Output device type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by callback.\n         * @throws { BusinessError } 6800301 - System error. Return by callback.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Gets the volume db value that system calculate by volume type, volume level and device type.\n         * This method uses an asynchronous callback to return the result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { number } volumeLevel - Volume level to set.\n         * @param { DeviceType } device - Output device type.\n         * @param { AsyncCallback<number> } callback - Callback used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by callback.\n         * @throws { BusinessError } 6800301 - System error. Return by callback.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType, callback: AsyncCallback<number>): void;\n        /**\n         * Gets the volume db value that system calculate by volume type, volume level and device type.\n         * This method uses a promise to return the result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { number } volumeLevel - Volume level to set.\n         * @param { DeviceType } device - Output device type.\n         * @returns { Promise<number> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @throws { BusinessError } 6800301 - System error. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Gets the volume db value that system calculate by volume type, volume level and device type.\n         * This method uses a promise to return the result.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { number } volumeLevel - Volume level to set.\n         * @param { DeviceType } device - Output device type.\n         * @returns { Promise<number> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @throws { BusinessError } 6800301 - System error. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType): Promise<number>;\n        /**\n         * Gets the volume db value that system calculate by volume type, volume level and device type.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { number } volumeLevel - Volume level to set.\n         * @param { DeviceType } device - Output device type.\n         * @returns { number } The system volume in dB.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 10\n         */\n        /**\n         * Gets the volume db value that system calculate by volume type, volume level and device type.\n         * @param { AudioVolumeType } volumeType - Audio volume type.\n         * @param { number } volumeLevel - Volume level to set.\n         * @param { DeviceType } device - Output device type.\n         * @returns { number } The system volume in dB.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        getSystemVolumeInDbSync(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType): number;\n        /**\n         * Gets the max amplitude value for a specific input device.\n         * This method uses a promise to return the result.\n         * @param { AudioDeviceDescriptor } inputDevice - the target device.\n         * @returns { Promise<number> } Promise used to return the max amplitude value.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @throws { BusinessError } 6800301 - System error. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 12\n         */\n        getMaxAmplitudeForInputDevice(inputDevice: AudioDeviceDescriptor): Promise<number>;\n        /**\n         * Gets the max amplitude value for a specific output device.\n         * This method uses a promise to return the result.\n         * @param { AudioDeviceDescriptor } outputDevice - the target device.\n         * @returns { Promise<number> } Promise used to return the max amplitude value.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @throws { BusinessError } 6800301 - System error. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 12\n         */\n        getMaxAmplitudeForOutputDevice(outputDevice: AudioDeviceDescriptor): Promise<number>;\n    }\n    /**\n     * Implements audio spatialization management.\n     * @typedef AudioSpatializationManager\n     * @syscap SystemCapability.Multimedia.Audio.Spatialization\n     * @since 18\n     */\n    interface AudioSpatializationManager {\n        /**\n         * Checks whether the spatialization is enabled by the current device.\n         * @returns { boolean } Whether the spatialization is enabled by the current device.\n         * @syscap SystemCapability.Multimedia.Audio.Spatialization\n         * @since 18\n         */\n        isSpatializationEnabledForCurrentDevice(): boolean;\n        /**\n         * Subscribes to the spatialization enable state change events by the current device.\n         * When the spatialization enable state changes, registered clients will receive the callback.\n         * @param { 'spatializationEnabledChangeForCurrentDevice' } type - Type of the event to listen for.\n         * @param { Callback<boolean> } callback - Callback used to get the spatialization enable state.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Spatialization\n         * @since 18\n         */\n        on(type: 'spatializationEnabledChangeForCurrentDevice', callback: Callback<boolean>): void;\n        /**\n         * Unsubscribes to the spatialization enable state change events by the current device.\n         * @param { 'spatializationEnabledChangeForCurrentDevice' } type - Type of the event to listen for.\n         * @param { Callback<boolean> } callback - Callback used to get the spatialization enable state.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Spatialization\n         * @since 18\n         */\n        off(type: 'spatializationEnabledChangeForCurrentDevice', callback?: Callback<boolean>): void;\n    }\n    /**\n     * Array of AudioRendererChangeInfo, which is read-only.\n     * @typedef { Array<Readonly<AudioRendererChangeInfo>> } AudioRendererChangeInfoArray\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 9\n     */\n    /**\n     * Array of AudioRendererChangeInfo, which is read-only.\n     * @typedef { Array<Readonly<AudioRendererChangeInfo>> } AudioRendererChangeInfoArray\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @since 12\n     */\n    type AudioRendererChangeInfoArray = Array<Readonly<AudioRendererChangeInfo>>;\n    /**\n     * Describes audio renderer change information.\n     * @typedef AudioRendererChangeInfo\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 9\n     */\n    /**\n     * Describes audio renderer change information.\n     * @typedef AudioRendererChangeInfo\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioRendererChangeInfo {\n        /**\n         * Audio stream unique id.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Audio stream unique id.\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        readonly streamId: number;\n        /**\n         * Audio renderer information.\n         * @type { AudioRendererInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Audio renderer information.\n         * @type { AudioRendererInfo }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        readonly rendererInfo: AudioRendererInfo;\n        /**\n         * Audio output devices.\n         * @type { AudioDeviceDescriptors }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Audio output devices.\n         * @type { AudioDeviceDescriptors }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        readonly deviceDescriptors: AudioDeviceDescriptors;\n    }\n    /**\n     * Array of AudioCapturerChangeInfo, which is read-only.\n     * @typedef { Array<Readonly<AudioCapturerChangeInfo>> } AudioCapturerChangeInfoArray\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @since 9\n     */\n    /**\n     * Array of AudioCapturerChangeInfo, which is read-only.\n     * @typedef { Array<Readonly<AudioCapturerChangeInfo>> } AudioCapturerChangeInfoArray\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @crossplatform\n     * @since 12\n     */\n    type AudioCapturerChangeInfoArray = Array<Readonly<AudioCapturerChangeInfo>>;\n    /**\n     * Describes audio capturer change information.\n     * @typedef AudioCapturerChangeInfo\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @since 9\n     */\n    /**\n     * Describes audio capturer change information.\n     * @typedef AudioCapturerChangeInfo\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioCapturerChangeInfo {\n        /**\n         * Audio stream unique id.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 9\n         */\n        /**\n         * Audio stream unique id.\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        readonly streamId: number;\n        /**\n         * Audio capturer information.\n         * @type { AudioCapturerInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 9\n         */\n        /**\n         * Audio capturer information.\n         * @type { AudioCapturerInfo }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        readonly capturerInfo: AudioCapturerInfo;\n        /**\n         * Audio input devices.\n         * @type { AudioDeviceDescriptors }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 9\n         */\n        /**\n         * Audio input devices.\n         * @type { AudioDeviceDescriptors }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        readonly deviceDescriptors: AudioDeviceDescriptors;\n        /**\n         * Audio capturer muted status.\n         * @type { ?boolean }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 11\n         */\n        /**\n         * Audio capturer muted status.\n         * @type { ?boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        readonly muted?: boolean;\n    }\n    /**\n     * Describes an audio device.\n     * @typedef AudioDeviceDescriptor\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 7\n     */\n    /**\n     * Describes an audio device.\n     * @typedef AudioDeviceDescriptor\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface AudioDeviceDescriptor {\n        /**\n         * Audio device role.\n         * @type { DeviceRole }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Audio device role.\n         * @type { DeviceRole }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly deviceRole: DeviceRole;\n        /**\n         * Audio device type.\n         * @type { DeviceType }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Audio device type.\n         * @type { DeviceType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly deviceType: DeviceType;\n        /**\n         * Audio device id.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Audio device id.\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly id: number;\n        /**\n         * Audio device name.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Audio device name.\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly name: string;\n        /**\n         * Audio device address.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Audio device address.\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly address: string;\n        /**\n         * Supported sampling rates.\n         * @type { Array<number> }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Supported sampling rates.\n         * @type { Array<number> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly sampleRates: Array<number>;\n        /**\n         * Supported channel counts.\n         * @type { Array<number> }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Supported channel counts.\n         * @type { Array<number> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly channelCounts: Array<number>;\n        /**\n         * Supported channel masks.\n         * @type { Array<number> }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        /**\n         * Supported channel masks.\n         * @type { Array<number> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly channelMasks: Array<number>;\n        /**\n         * Name used to display, considering distributed device situation.\n         * @type { string }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Name used to display, considering distributed device situation.\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly displayName: string;\n        /**\n         * Supported encoding types.\n         * @type { ?Array<AudioEncodingType> }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Supported encoding types.\n         * @type { ?Array<AudioEncodingType> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        readonly encodingTypes?: Array<AudioEncodingType>;\n        /**\n         * whether supports spatial rendering.\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Spatialization\n         * @since 18\n         */\n        readonly spatializationSupported?: boolean;\n    }\n    /**\n     * Array of AudioDeviceDescriptors, which is read-only.\n     * @typedef { Array<Readonly<AudioDeviceDescriptor>> } AudioDeviceDescriptors\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 7\n     */\n    /**\n     * Array of AudioDeviceDescriptors, which is read-only.\n     * @typedef { Array<Readonly<AudioDeviceDescriptor>> } AudioDeviceDescriptors\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    type AudioDeviceDescriptors = Array<Readonly<AudioDeviceDescriptor>>;\n    /**\n     * Volume mode.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @since 19\n     */\n    enum AudioVolumeMode {\n        /**\n         * Audio volume affected by system volume level.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 19\n         */\n        SYSTEM_GLOBAL = 0,\n        /**\n         * Audio volume affected by app's individual percentage.\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 19\n         */\n        APP_INDIVIDUAL = 1\n    }\n    /**\n     * Describes the volume event received by the app when the volume is changed.\n     * @typedef VolumeEvent\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @since 9\n     */\n    /**\n     * Describes the volume event received by the app when the volume is changed.\n     * @typedef VolumeEvent\n     * @syscap SystemCapability.Multimedia.Audio.Volume\n     * @crossplatform\n     * @since 12\n     */\n    interface VolumeEvent {\n        /**\n         * Volume type of the current stream.\n         * @type { AudioVolumeType }\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        volumeType: AudioVolumeType;\n        /**\n         * Volume level.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        /**\n         * Volume level.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @crossplatform\n         * @since 12\n         */\n        volume: number;\n        /**\n         * Whether to show the volume change in UI.\n         * @type { boolean }\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 9\n         */\n        updateUi: boolean;\n        /**\n         * Audio volume mode of this volume event\n         * @type { ?AudioVolumeMode }\n         * @syscap SystemCapability.Multimedia.Audio.Volume\n         * @since 19\n         */\n        volumeMode?: AudioVolumeMode;\n    }\n    /**\n     * Describes the callback invoked for audio interruption or focus gain events.When the audio of an application\n     * is interrupted by another application, the callback is invoked to notify the former application.\n     * @typedef InterruptAction\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 7\n     * @deprecated since 9\n     * @useinstead ohos.multimedia.audio.InterruptEvent\n     */\n    interface InterruptAction {\n        /**\n         * Event type.\n         * The value TYPE_ACTIVATED means the focus gain event, and TYPE_INTERRUPT means the audio interruption event.\n         * @type { InterruptActionType }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        actionType: InterruptActionType;\n        /**\n         * Type of the audio interruption event.\n         * @type { ?InterruptType }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        type?: InterruptType;\n        /**\n         * Hint for the audio interruption event.\n         * @type { ?InterruptHint }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        hint?: InterruptHint;\n        /**\n         * Whether the focus is gained or released. The value true means that the focus is gained or released,\n         * and false means that the focus fails to be gained or released.\n         * @type { ?boolean }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        activated?: boolean;\n    }\n    /**\n     * Describes input parameters of audio listening events.\n     * @typedef AudioInterrupt\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 7\n     * @deprecated since 9\n     */\n    interface AudioInterrupt {\n        /**\n         * Audio stream usage type.\n         * @type { StreamUsage }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        streamUsage: StreamUsage;\n        /**\n         * Type of the media interrupted.\n         * @type { ContentType }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        contentType: ContentType;\n        /**\n         * Whether audio playback can be paused when it is interrupted.\n         * The value true means that audio playback can be paused when it is interrupted, and false means the opposite.\n         * @type { boolean }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 7\n         * @deprecated since 9\n         */\n        pauseWhenDucked: boolean;\n    }\n    /**\n     * Describes the microphone state change event received by the app when the microphone state is changed.\n     * @typedef MicStateChangeEvent\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 9\n     */\n    interface MicStateChangeEvent {\n        /**\n         * Mic mute state.\n         * @type { boolean }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 9\n         */\n        mute: boolean;\n    }\n    /**\n     * Describes the device change type and device information.\n     * @typedef DeviceChangeAction\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 7\n     */\n    /**\n     * Describes the device change type and device information.\n     * @typedef DeviceChangeAction\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @since 12\n     */\n    interface DeviceChangeAction {\n        /**\n         * Device change type.\n         * @type { DeviceChangeType }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Device change type.\n         * @type { DeviceChangeType }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        type: DeviceChangeType;\n        /**\n         * Device information.\n         * @type { AudioDeviceDescriptors }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 7\n         */\n        /**\n         * Device information.\n         * @type { AudioDeviceDescriptors }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        deviceDescriptors: AudioDeviceDescriptors;\n    }\n    /**\n     * Enumerates channel blend mode.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 11\n     */\n    /**\n     * Enumerates channel blend mode.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum ChannelBlendMode {\n        /**\n         * No channel process.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * No channel process.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        MODE_DEFAULT = 0,\n        /**\n         * Blend left and right channel.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Blend left and right channel.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        MODE_BLEND_LR = 1,\n        /**\n         * Replicate left to right channel.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Replicate left to right channel.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        MODE_ALL_LEFT = 2,\n        /**\n         * Replicate right to left channel.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Replicate right to left channel.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        MODE_ALL_RIGHT = 3\n    }\n    /**\n     * Enumerates audio stream device change reason.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 11\n     */\n    /**\n     * Enumerates audio stream device change reason.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    enum AudioStreamDeviceChangeReason {\n        /**\n         * Unknown.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * This is default device change reason.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        REASON_UNKNOWN = 0,\n        /**\n         * New device available.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * New device available.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        REASON_NEW_DEVICE_AVAILABLE = 1,\n        /**\n         * Old device unavailable. Applications should consider to pause the audio playback when this reason is\n         * reported.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Old device unavailable. Applications should consider to pause the audio playback when this reason is\n         * reported.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        REASON_OLD_DEVICE_UNAVAILABLE = 2,\n        /**\n         * Overrode by user or system.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Overrode by user or system.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        REASON_OVERRODE = 3\n    }\n    /**\n     * Audio stream device change info.\n     * @typedef AudioStreamDeviceChangeInfo\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @since 11\n     */\n    /**\n     * Audio stream device change info.\n     * @typedef AudioStreamDeviceChangeInfo\n     * @syscap SystemCapability.Multimedia.Audio.Device\n     * @crossplatform\n     * @atomicservice\n     * @since 12\n     */\n    interface AudioStreamDeviceChangeInfo {\n        /**\n         * Audio device descriptors after change.\n         * @type { AudioDeviceDescriptors }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Audio device descriptors after change.\n         * @type { AudioDeviceDescriptors }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        devices: AudioDeviceDescriptors;\n        /**\n         * Audio stream device change reason.\n         * @type { AudioStreamDeviceChangeReason }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Audio stream device change reason.\n         * @type { AudioStreamDeviceChangeReason }\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @atomicservice\n         * @since 12\n         */\n        changeReason: AudioStreamDeviceChangeReason;\n    }\n    /**\n     * Enumerates callback result.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioDataCallbackResult {\n        /**\n         * Indicates data of this callback is invalid.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        INVALID = -1,\n        /**\n         * Indicates data of this callback is valid.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        VALID = 0\n    }\n    /**\n     * Type definition of callback function for audio renderer write data.\n     *\n     * @typedef { function } AudioRendererWriteDataCallback\n     * @param { ArrayBuffer } data - audio data array buffer.\n     * @returns { AudioDataCallbackResult | void } result of callback or void. If void or AudioDataCallbackResult.VALID is\n     * returned, it indicates the data is valid and will be played. If AudioDataCallbackResult.INVALID is returned, it\n     * indicates the data is will not be played.\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @since 12\n     */\n    type AudioRendererWriteDataCallback = (data: ArrayBuffer) => AudioDataCallbackResult | void;\n    /**\n     * Audio timestamp info.\n     * @typedef AudioTimestampInfo\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 19\n     */\n    interface AudioTimestampInfo {\n        /**\n         * Frame position.\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 19\n         */\n        readonly framePos: number;\n        /**\n         * Timestamp when frame in {@link AudioTimestampInfo#framePos} was rendered or captured.\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 19\n         */\n        readonly timestamp: number;\n    }\n    /**\n     * Provides audio playback APIs.\n     * @typedef AudioRenderer\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 8\n     */\n    /**\n     * Provides audio playback APIs.\n     * @typedef AudioRenderer\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioRenderer {\n        /**\n         * Defines the current render state.\n         * @type { AudioState }\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Defines the current render state.\n         * @type { AudioState }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        readonly state: AudioState;\n        /**\n         * Obtains the renderer information provided while creating a renderer instance. This method uses an asynchronous\n         * callback to return the result.\n         * @param { AsyncCallback<AudioRendererInfo> } callback - Callback used to return the renderer information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Obtains the renderer information provided while creating a renderer instance. This method uses an asynchronous\n         * callback to return the result.\n         * @param { AsyncCallback<AudioRendererInfo> } callback - Callback used to return the renderer information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getRendererInfo(callback: AsyncCallback<AudioRendererInfo>): void;\n        /**\n         * Obtains the renderer information provided while creating a renderer instance. This method uses a promise to\n         * return the result.\n         * @returns { Promise<AudioRendererInfo> } Promise used to return the renderer information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Obtains the renderer information provided while creating a renderer instance. This method uses a promise to\n         * return the result.\n         * @returns { Promise<AudioRendererInfo> } Promise used to return the renderer information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getRendererInfo(): Promise<AudioRendererInfo>;\n        /**\n         * Obtains the renderer information provided while creating a renderer instance.\n         * @returns { AudioRendererInfo } The renderer information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Obtains the renderer information provided while creating a renderer instance.\n         * @returns { AudioRendererInfo } The renderer information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getRendererInfoSync(): AudioRendererInfo;\n        /**\n         * Obtains the renderer stream information. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<AudioStreamInfo> } callback - Callback used to return the stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Obtains the renderer stream information. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<AudioStreamInfo> } callback - Callback used to return the stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getStreamInfo(callback: AsyncCallback<AudioStreamInfo>): void;\n        /**\n         * Obtains the renderer stream information. This method uses a promise to return the result.\n         * @returns { Promise<AudioStreamInfo> } Promise used to return the stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Obtains the renderer stream information. This method uses a promise to return the result.\n         * @returns { Promise<AudioStreamInfo> } Promise used to return the stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getStreamInfo(): Promise<AudioStreamInfo>;\n        /**\n         * Obtains the renderer stream information.\n         * @returns { AudioStreamInfo } The stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Obtains the renderer stream information.\n         * @returns { AudioStreamInfo } The stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getStreamInfoSync(): AudioStreamInfo;\n        /**\n         * Obtains the renderer stream id. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Obtains the renderer stream id. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioStreamId(callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the renderer stream id. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Obtains the renderer stream id. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioStreamId(): Promise<number>;\n        /**\n         * Obtains the renderer stream id.\n         * @returns { number } The stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Obtains the renderer stream id.\n         * @returns { number } The stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioStreamIdSync(): number;\n        /**\n         * Obtains the current audio effect mode. This method uses an asynchronous callback to return the query result.\n         * @param { AsyncCallback<AudioEffectMode> } callback - Callback used to return the current audio effect mode.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        getAudioEffectMode(callback: AsyncCallback<AudioEffectMode>): void;\n        /**\n         * Obtains the current audio effect mode. This method uses a promise to return the query result.\n         * @returns { Promise<AudioEffectMode> } Promise used to return the current audio effect mode.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        getAudioEffectMode(): Promise<AudioEffectMode>;\n        /**\n         * Sets audio effect mode for current audio renderer. This method uses an asynchronous callback to return the result.\n         * @param { AudioEffectMode } mode - Audio effect mode.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by callback.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        setAudioEffectMode(mode: AudioEffectMode, callback: AsyncCallback<void>): void;\n        /**\n         * Sets audio effect mode for current audio renderer. This method uses a promise to return the result.\n         * @param { AudioEffectMode } mode - Audio effect mode.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        setAudioEffectMode(mode: AudioEffectMode): Promise<void>;\n        /**\n         * Starts the renderer.\n         * Success: This method uses an asynchronous callback to return the result.\n         * Failure: This method uses an asynchronous callback to return the error instance. Possible causes:\n         *          6800301: Unsupported state, Audio focus request failed, System error.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Starts the renderer. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        start(callback: AsyncCallback<void>): void;\n        /**\n         * Starts the renderer.\n         * Success: This method uses a promise to return the result.\n         * Failure: This method uses a promise to return the error instance. Possible causes:\n         *          6800301: Unsupported state, Audio focus request failed, System error.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Starts the renderer. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        start(): Promise<void>;\n        /**\n         * Writes the buffer. This method uses an asynchronous callback to return the result.\n         * @param { ArrayBuffer } buffer - Buffer to be written.\n         * @param { AsyncCallback<number> } callback - Returns the number of bytes written if the operation is successful.\n         *        Returns an error code otherwise.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#event:writeData\n         */\n        write(buffer: ArrayBuffer, callback: AsyncCallback<number>): void;\n        /**\n         * Writes the buffer. This method uses a promise to return the result.\n         * @param { ArrayBuffer } buffer - Buffer to be written.\n         * @returns { Promise<number> } Returns the number of bytes written if the operation is successful.\n         *          Returns an error code otherwise.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#event:writeData\n         */\n        write(buffer: ArrayBuffer): Promise<number>;\n        /**\n         * Obtains the timestamp in Unix epoch time (starts from January 1, 1970), in nanoseconds. This method uses an\n         * asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the timestamp.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Obtains the timestamp for audio frame that passed by system framework most recently.\n         * The timestamp is not accurate because audio device latency is not considered very thoughtfully.\n         * This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the audio timestamp based on the monotonic nanosecond system timer.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioTime(callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the timestamp in Unix epoch time (starts from January 1, 1970), in nanoseconds. This method uses a\n         * promise to return the result.\n         * @returns { Promise<number> } Promise used to return the timestamp.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Obtains the timestamp for audio frame that passed by system framework most recently.\n         * The timestamp is not accurate because audio device latency is not considered very thoughtfully.\n         * This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the audio timestamp based on the monotonic nanosecond system timer.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioTime(): Promise<number>;\n        /**\n         * Obtains the timestamp in Unix epoch time (starts from January 1, 1970), in nanoseconds.\n         * @returns { number } The audio timestamp.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Obtains the timestamp for audio frame that passed by system framework most recently.\n         * The timestamp is not accurate because audio device latency is not considered very thoughtfully.\n         * @returns { number } The audio timestamp based on the monotonic nanosecond system timer.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioTimeSync(): number;\n        /**\n         * Obtains the timestamp info.\n         *\n         * @returns { Promise<AudioTimestampInfo> } The Promise used to return timestamp info.\n         * @throws  { BusinessError } 6800103 - Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 19\n         */\n        getAudioTimestampInfo(): Promise<AudioTimestampInfo>;\n        /**\n         * Obtains the timestamp info.\n         *\n         * @returns { AudioTimestampInfo } The returned timestamp info.\n         * @throws { BusinessError } 6800103 - Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 19\n         */\n        getAudioTimestampInfoSync(): AudioTimestampInfo;\n        /**\n         * Drains the playback buffer. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Drains the playback buffer. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        drain(callback: AsyncCallback<void>): void;\n        /**\n         * Drains the playback buffer. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Drains the playback buffer. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        drain(): Promise<void>;\n        /**\n         * Flushes the playback buffer. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 6800103 - Operation not permit at current state. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 11\n         */\n        /**\n         * Flushes the playback buffer. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 6800103 - Operation not permit at current state. Return by promise.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        flush(): Promise<void>;\n        /**\n         * Pauses rendering. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Pauses rendering. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        pause(callback: AsyncCallback<void>): void;\n        /**\n         * Pauses rendering. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Pauses rendering. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        pause(): Promise<void>;\n        /**\n         * Stops rendering. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Stops rendering. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        stop(callback: AsyncCallback<void>): void;\n        /**\n         * Stops rendering. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Stops rendering. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        stop(): Promise<void>;\n        /**\n         * Releases the renderer. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Releases the renderer. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        release(callback: AsyncCallback<void>): void;\n        /**\n         * Releases the renderer. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Releases the renderer. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        release(): Promise<void>;\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for rendering. This method uses an asynchronous callback to\n         * return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for rendering. This method uses an asynchronous callback to\n         * return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getBufferSize(callback: AsyncCallback<number>): void;\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for rendering. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for rendering. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getBufferSize(): Promise<number>;\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for rendering.\n         * @returns { number } The audio buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for rendering.\n         * @returns { number } The audio buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getBufferSizeSync(): number;\n        /**\n         * Sets the render rate. This method uses an asynchronous callback to return the result.\n         * @param { AudioRendererRate } rate - Audio render rate.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#setSpeed\n         */\n        setRenderRate(rate: AudioRendererRate, callback: AsyncCallback<void>): void;\n        /**\n         * Sets the render rate. This method uses a promise to return the result.\n         * @param { AudioRendererRate } rate - Audio render rate.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#setSpeed\n         */\n        setRenderRate(rate: AudioRendererRate): Promise<void>;\n        /**\n         * Sets the playback speed.\n         * @param { number } speed -  Audio playback speed. The value type is float, form 0.25 to 4.0.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 11\n         */\n        /**\n         * Sets the playback speed.\n         * @param { number } speed -  Audio playback speed. The value type is float, form 0.25 to 4.0.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        setSpeed(speed: number): void;\n        /**\n         * Obtains the current render rate. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<AudioRendererRate> } callback - Callback used to return the audio render rate.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#getSpeed\n         */\n        getRenderRate(callback: AsyncCallback<AudioRendererRate>): void;\n        /**\n         * Obtains the current render rate. This method uses a promise to return the result.\n         * @returns { Promise<AudioRendererRate> } Promise used to return the audio render rate.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#getSpeed\n         */\n        getRenderRate(): Promise<AudioRendererRate>;\n        /**\n         * Obtains the current render rate.\n         * @returns { AudioRendererRate } The audio render rate.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioRenderer#getSpeed\n         */\n        getRenderRateSync(): AudioRendererRate;\n        /**\n         * Obtains the current playback speed.\n         * @returns { number } The playback speed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 11\n         */\n        /**\n         * Obtains the current playback speed.\n         * @returns { number } The playback speed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getSpeed(): number;\n        /**\n         * Set interrupt mode.\n         * @param { InterruptMode } mode - The interrupt mode.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 9\n         */\n        /**\n         * Set interrupt mode.\n         * @param { InterruptMode } mode - The interrupt mode.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @crossplatform\n         * @since 12\n         */\n        setInterruptMode(mode: InterruptMode, callback: AsyncCallback<void>): void;\n        /**\n         * Set interrupt mode.\n         * @param { InterruptMode } mode - The interrupt mode.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 9\n         */\n        /**\n         * Set interrupt mode.\n         * @param { InterruptMode } mode - The interrupt mode.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @crossplatform\n         * @since 12\n         */\n        setInterruptMode(mode: InterruptMode): Promise<void>;\n        /**\n         * Set interrupt mode.\n         * @param { InterruptMode } mode - The interrupt mode.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 10\n         */\n        /**\n         * Set interrupt mode.\n         * @param { InterruptMode } mode - The interrupt mode.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @crossplatform\n         * @since 12\n         */\n        setInterruptModeSync(mode: InterruptMode): void;\n        /**\n         * Sets the volume for this stream. This method uses an asynchronous callback to return the result.\n         * @param { number } volume - Volume to set. The value type is float, form 0.0 to 1.0.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Sets the volume for this stream. This method uses an asynchronous callback to return the result.\n         * @param { number } volume - Volume to set. The value type is float, form 0.0 to 1.0.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        setVolume(volume: number, callback: AsyncCallback<void>): void;\n        /**\n         * Sets the volume for a stream. This method uses a promise to return the result.\n         * @param { number } volume - Volume to set. The value type is float, form 0.0 to 1.0.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 9\n         */\n        /**\n         * Sets the volume for a stream. This method uses a promise to return the result.\n         * @param { number } volume - Volume to set. The value type is float, form 0.0 to 1.0.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        setVolume(volume: number): Promise<void>;\n        /**\n         * Gets volume of this stream.\n         * @returns { number } Returns one float value.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 12\n         */\n        getVolume(): number;\n        /**\n         * Changes the volume with ramp for a duration.\n         * @param { number } volume - Volume to set. The value type is float, form 0.0 to 1.0.\n         * @param { number } duration -  Duration for volume ramp, in millisecond.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 11\n         */\n        /**\n         * Changes the volume with ramp for a duration.\n         * @param { number } volume - Volume to set. The value type is float, form 0.0 to 1.0.\n         * @param { number } duration -  Duration for volume ramp, in millisecond.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        setVolumeWithRamp(volume: number, duration: number): void;\n        /**\n         * Gets the min volume this stream can set. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets the min volume this stream can set. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getMinStreamVolume(callback: AsyncCallback<number>): void;\n        /**\n         * Gets the min volume this stream can set. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets the min volume this stream can set. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getMinStreamVolume(): Promise<number>;\n        /**\n         * Gets the min volume this stream can set.\n         * @returns { number } Min stream volume.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets the min volume this stream can set.\n         * @returns { number } Min stream volume.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getMinStreamVolumeSync(): number;\n        /**\n         * Gets the max volume this stream can set. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets the max volume this stream can set. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getMaxStreamVolume(callback: AsyncCallback<number>): void;\n        /**\n         * Gets the max volume this stream can set. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets the max volume this stream can set. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getMaxStreamVolume(): Promise<number>;\n        /**\n         * Gets the max volume this stream can set.\n         * @returns { number } Max stream volume.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets the max volume this stream can set.\n         * @returns { number } Max stream volume.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getMaxStreamVolumeSync(): number;\n        /**\n         * Gets buffer underflow count. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets buffer underflow count. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getUnderflowCount(callback: AsyncCallback<number>): void;\n        /**\n         * Gets buffer underflow count. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets buffer underflow count. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getUnderflowCount(): Promise<number>;\n        /**\n         * Gets buffer underflow count.\n         * @returns { number } Underflow count number.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Gets buffer underflow count.\n         * @returns { number } Underflow count number.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        getUnderflowCountSync(): number;\n        /**\n         * Gets the output device or devices for this stream.\n         * This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Gets the output device or devices for this stream.\n         * This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<AudioDeviceDescriptors> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentOutputDevices(callback: AsyncCallback<AudioDeviceDescriptors>): void;\n        /**\n         * Gets the output device or devices for this stream.\n         * This method uses a promise to return the result.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Gets the output device or devices for this stream.\n         * This method uses a promise to return the result.\n         * @returns { Promise<AudioDeviceDescriptors> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentOutputDevices(): Promise<AudioDeviceDescriptors>;\n        /**\n         * Gets the output device or devices for this stream.\n         * @returns { AudioDeviceDescriptors } Output device or devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Gets the output device or devices for this stream.\n         * @returns { AudioDeviceDescriptors } Output device or devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentOutputDevicesSync(): AudioDeviceDescriptors;\n        /**\n         * Sets channel blend mode for this stream.\n         * @param { ChannelBlendMode } mode - Target channel blend mode.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @throws { BusinessError } 6800103 - Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 11\n         */\n        /**\n         * Sets channel blend mode for this stream.\n         * @param { ChannelBlendMode } mode - Target channel blend mode.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @throws { BusinessError } 6800103 - Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        setChannelBlendMode(mode: ChannelBlendMode): void;\n        /**\n         * Sets silent and mix with other stream for this stream.\n         * @param { boolean } on - Whether play silent and mix with other streams.\n         *     true: set the silent mode and mix with other streams.\n         *     false: unset the silent mode, current stream will trigger the audio focus internally.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 12\n         */\n        setSilentModeAndMixWithOthers(on: boolean): void;\n        /**\n         * Gets silent and mix with other stream status for this stream.\n         * @returns { boolean } Returns silent and mix with other stream status.\n         *     true: current stream is in the silent mode and mix with other streams.\n         *     false: current stream in in the normal playback mode\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 12\n         */\n        getSilentModeAndMixWithOthers(): boolean;\n        /**\n         * Temporarily changes the current audio device\n         * This function applys on audiorenderers whose StreamUsage are\n         * STREAM_USAGE_VOICE_COMMUNICATIN/STREAM_USAGE_VIDEO_COMMUNICATION/STREAM_USAGE_VOICE_MESSAGE.\n         * Setting the device will only takes effect if no other accessory such as headphones are in use\n         * @param { DeviceType } deviceType - the available deviceTypes are\n         *                                    EARPIECE: Built-in earpiece\n         *                                    SPEAKER: Built-in speaker\n         *                                    DEFAULT: System default output device\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @throws { BusinessError } 6800103 - Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 12\n         */\n        setDefaultOutputDevice(deviceType: DeviceType): Promise<void>;\n        /**\n         * Listens for audio interrupt events. This method uses a callback to get interrupt events. The interrupt event is\n         * triggered when audio playback is interrupted.\n         * @param { 'audioInterrupt' } type - Type of the event to listen for. Only the audioInterrupt event is supported.\n         * @param { Callback<InterruptEvent> } callback - Callback used to listen for interrupt callback.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 9\n         */\n        /**\n         * Listens for audio interrupt events. This method uses a callback to get interrupt events. The interrupt event is\n         * triggered when audio playback is interrupted.\n         * @param { 'audioInterrupt' } type - Type of the event to listen for. Only the audioInterrupt event is supported.\n         * @param { Callback<InterruptEvent> } callback - Callback used to listen for interrupt callback.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'audioInterrupt', callback: Callback<InterruptEvent>): void;\n        /**\n         * Unsubscribes audio interrupt events.\n         * @param { 'audioInterrupt' } type - Type of the event to listen for.\n         * @param { Callback<InterruptEvent> } callback - Callback used to listen for interrupt callback.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 18\n         */\n        off(type: 'audioInterrupt', callback?: Callback<InterruptEvent>): void;\n        /**\n         * Subscribes to mark reached events. When the number of frames rendered reaches the value of the frame parameter,\n         * the callback is invoked.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @param { number } frame - Number of frames to trigger the event. The value must be greater than 0.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Subscribes to mark reached events. When the number of frames rendered reaches the value of the frame parameter,\n         * the callback is invoked.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @param { number } frame - Number of frames to trigger the event. The value must be greater than 0.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'markReach', frame: number, callback: Callback<number>): void;\n        /**\n         * Unsubscribes from mark reached events.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Unsubscribes from mark reached events.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        /**\n         * Unsubscribes from mark reached events.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 18\n         */\n        off(type: 'markReach', callback?: Callback<number>): void;\n        /**\n         * Subscribes to period reached events. When the period of frame rendering reaches the value of frame parameter,\n         * the callback is invoked.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @param { number } frame - Period during which frame rendering is listened. The value must be greater than 0.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Subscribes to period reached events. When the period of frame rendering reaches the value of frame parameter,\n         * the callback is invoked.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @param { number } frame - Period during which frame rendering is listened. The value must be greater than 0.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'periodReach', frame: number, callback: Callback<number>): void;\n        /**\n         * Unsubscribes from period reached events.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Unsubscribes from period reached events.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        /**\n         * Unsubscribes from period reached events.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 18\n         */\n        off(type: 'periodReach', callback?: Callback<number>): void;\n        /**\n         * Subscribes audio state change event callback.\n         * @param { 'stateChange' } type - Type of the event to listen for. Only the stateChange event is supported.\n         * @param { Callback<AudioState> } callback - Callback invoked when state change.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 8\n         */\n        /**\n         * Subscribes audio state change event callback.\n         * @param { 'stateChange' } type - Type of the event to listen for. Only the stateChange event is supported.\n         * @param { Callback<AudioState> } callback - Callback invoked when state change.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'stateChange', callback: Callback<AudioState>): void;\n        /**\n         * Unsubscribes audio state change event callback.\n         * @param { 'stateChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioState> } callback - Callback invoked when state change.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 18\n         */\n        off(type: 'stateChange', callback?: Callback<AudioState>): void;\n        /**\n         * Subscribes output device change event callback.\n         * The event is triggered when output device change for this stream.\n         * @param { 'outputDeviceChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to listen device change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Subscribes output device change event callback.\n         * The event is triggered when output device change for this stream.\n         * @param { 'outputDeviceChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to listen device change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'outputDeviceChange', callback: Callback<AudioDeviceDescriptors>): void;\n        /**\n         * Subscribes output device change event callback.\n         * The event is triggered when output device change for this stream.\n         * @param { 'outputDeviceChangeWithInfo' } type - Type of the event to listen for.\n         * @param { Callback<AudioStreamDeviceChangeInfo> } callback - Callback used to listen device change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Subscribes output device change event callback.\n         * The event is triggered when output device change for this stream.\n         * @param { 'outputDeviceChangeWithInfo' } type - Type of the event to listen for.\n         * @param { Callback<AudioStreamDeviceChangeInfo> } callback - Callback used to listen device change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'outputDeviceChangeWithInfo', callback: Callback<AudioStreamDeviceChangeInfo>): void;\n        /**\n         * Unsubscribes output device change event callback.\n         * @param { 'outputDeviceChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 10\n         */\n        /**\n         * Unsubscribes output device change event callback.\n         * @param { 'outputDeviceChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'outputDeviceChange', callback?: Callback<AudioDeviceDescriptors>): void;\n        /**\n         * Unsubscribes output device change event callback.\n         * @param { 'outputDeviceChangeWithInfo' } type - Type of the event to listen for.\n         * @param { Callback<AudioStreamDeviceChangeInfo> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Unsubscribes output device change event callback.\n         * @param { 'outputDeviceChangeWithInfo' } type - Type of the event to listen for.\n         * @param { Callback<AudioStreamDeviceChangeInfo> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'outputDeviceChangeWithInfo', callback?: Callback<AudioStreamDeviceChangeInfo>): void;\n        /**\n         * Subscribes audio data callback.\n         * The event is triggered when audio buffer is available for writing more data.\n         * @param { 'writeData' } type - Type of the event to listen for.\n         * @param { Callback<ArrayBuffer> } callback - Callback with buffer to write.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 11\n         */\n        /**\n         * Subscribes audio data callback.\n         * The event is triggered when audio buffer is available for writing more data.\n         * @param { 'writeData' } type - Type of the event to listen for.\n         * @param { AudioRendererWriteDataCallback } callback - Audio renderer write data callback.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'writeData', callback: AudioRendererWriteDataCallback): void;\n        /**\n         * Unsubscribes audio data callback.\n         * @param { 'writeData' } type - Type of the event to listen for.\n         * @param { Callback<ArrayBuffer> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 11\n         */\n        /**\n         * Unsubscribes audio data callback.\n         * @param { 'writeData' } type - Type of the event to listen for.\n         * @param { AudioRendererWriteDataCallback } callback - Audio renderer write data callback.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'writeData', callback?: AudioRendererWriteDataCallback): void;\n    }\n    /**\n     * Enumerates source types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n     * Enumerates source types.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum SourceType {\n        /**\n         * Invalid source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        SOURCE_TYPE_INVALID = -1,\n        /**\n         * Mic source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Mic source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SOURCE_TYPE_MIC = 0,\n        /**\n         * Voice recognition source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 9\n         */\n        /**\n         * Voice recognition source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SOURCE_TYPE_VOICE_RECOGNITION = 1,\n        /**\n         * Playback capture source type.\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @since 10\n         * @deprecated since 12\n         * @useinstead OH_AVScreenCapture in native interface.\n         */\n        SOURCE_TYPE_PLAYBACK_CAPTURE = 2,\n        /**\n         * Voice communication source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Voice communication source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        SOURCE_TYPE_VOICE_COMMUNICATION = 7,\n        /**\n         * Voice message source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 12\n         */\n        SOURCE_TYPE_VOICE_MESSAGE = 10,\n        /**\n         * Camcorder source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 13\n         */\n        SOURCE_TYPE_CAMCORDER = 13,\n        /**\n         * Unprocessed source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 14\n         */\n        SOURCE_TYPE_UNPROCESSED = 14,\n        /**\n         * live broadcast source type.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 20\n         */\n        SOURCE_TYPE_LIVE = 17\n    }\n    /**\n     * Describes audio capturer information.\n     * @typedef AudioCapturerInfo\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 8\n     */\n    /**\n     * Describes audio capturer information.\n     * @typedef AudioCapturerInfo\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioCapturerInfo {\n        /**\n         * Audio source type.\n         * @type { SourceType }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Audio source type.\n         * @type { SourceType }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        source: SourceType;\n        /**\n         * Audio capturer flags.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 8\n         */\n        /**\n         * Audio capturer flags.\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        capturerFlags: number;\n    }\n    /**\n     * Describes audio capturer configuration options.\n     * @typedef AudioCapturerOptions\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @since 8\n     */\n    /**\n     * Describes audio capturer configuration options.\n     * @typedef AudioCapturerOptions\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioCapturerOptions {\n        /**\n         * Stream information.\n         * @type { AudioStreamInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Stream information.\n         * @type { AudioStreamInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        streamInfo: AudioStreamInfo;\n        /**\n         * Capturer information.\n         * @type { AudioCapturerInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Capturer information.\n         * @type { AudioCapturerInfo }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        capturerInfo: AudioCapturerInfo;\n        /**\n         * Playback capture config.\n         * @type { ?AudioPlaybackCaptureConfig }\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @since 10\n         * @deprecated since 12\n         * @useinstead OH_AVScreenCapture in native interface.\n         */\n        playbackCaptureConfig?: AudioPlaybackCaptureConfig;\n    }\n    /**\n     * Describe playback capture filtering options\n     * @typedef CaptureFilterOptions\n     * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n     * @since 10\n     * @deprecated since 12\n     * @useinstead OH_AVScreenCapture in native interface.\n     */\n    interface CaptureFilterOptions {\n        /**\n         * Filter by stream usages. If you want to capture voice streams, additional permission is needed.\n         * @type { Array<StreamUsage> }\n         * @permission ohos.permission.CAPTURE_VOICE_DOWNLINK_AUDIO\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @since 10\n         */\n        /**\n         * Filter by stream usages. But not allow to capture voice streams.\n         * @type { Array<StreamUsage> }\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @since 11\n         * @deprecated since 12\n         * @useinstead OH_AVScreenCapture in native interface.\n         */\n        usages: Array<StreamUsage>;\n    }\n    /**\n     * Describe playback capture config object.\n     * @typedef AudioPlaybackCaptureConfig\n     * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n     * @since 10\n     * @deprecated since 12\n     * @useinstead OH_AVScreenCapture in native interface.\n     */\n    interface AudioPlaybackCaptureConfig {\n        /**\n         * Add filter options to decide which streams to be captured.\n         * @type { CaptureFilterOptions }\n         * @syscap SystemCapability.Multimedia.Audio.PlaybackCapture\n         * @since 10\n         * @deprecated since 12\n         * @useinstead OH_AVScreenCapture in native interface.\n         */\n        filterOptions: CaptureFilterOptions;\n    }\n    /**\n     * Provides APIs for audio recording.\n     * @typedef AudioCapturer\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @since 8\n     */\n    /**\n     * Provides APIs for audio recording.\n     * @typedef AudioCapturer\n     * @syscap SystemCapability.Multimedia.Audio.Capturer\n     * @crossplatform\n     * @since 12\n     */\n    interface AudioCapturer {\n        /**\n         * Defines the current capture state.\n         * @type { AudioState }\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Defines the current capture state.\n         * @type { AudioState }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        readonly state: AudioState;\n        /**\n         * Obtains the capturer information provided while creating a capturer instance. This method uses an asynchronous\n         * callback to return the result.\n         * @param { AsyncCallback<AudioCapturerInfo> } callback - Callback used to return the capturer information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Obtains the capturer information provided while creating a capturer instance. This method uses an asynchronous\n         * callback to return the result.\n         * @param { AsyncCallback<AudioCapturerInfo> } callback - Callback used to return the capturer information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getCapturerInfo(callback: AsyncCallback<AudioCapturerInfo>): void;\n        /**\n         * Obtains the capturer information provided while creating a capturer instance. This method uses a promise to\n         * return the result.\n         * @returns { Promise<AudioCapturerInfo> } Promise used to return the capturer information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Obtains the capturer information provided while creating a capturer instance. This method uses a promise to\n         * return the result.\n         * @returns { Promise<AudioCapturerInfo> } Promise used to return the capturer information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getCapturerInfo(): Promise<AudioCapturerInfo>;\n        /**\n         * Obtains the capturer information provided while creating a capturer instance.\n         * @returns { AudioCapturerInfo } The capturer information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 10\n         */\n        /**\n         * Obtains the capturer information provided while creating a capturer instance.\n         * @returns { AudioCapturerInfo } The capturer information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getCapturerInfoSync(): AudioCapturerInfo;\n        /**\n         * Obtains the capturer stream information. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<AudioStreamInfo> } callback - Callback used to return the stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Obtains the capturer stream information. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<AudioStreamInfo> } callback - Callback used to return the stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getStreamInfo(callback: AsyncCallback<AudioStreamInfo>): void;\n        /**\n         * Obtains the capturer stream information. This method uses a promise to return the result.\n         * @returns { Promise<AudioStreamInfo> } Promise used to return the stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Obtains the capturer stream information. This method uses a promise to return the result.\n         * @returns { Promise<AudioStreamInfo> } Promise used to return the stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getStreamInfo(): Promise<AudioStreamInfo>;\n        /**\n         * Obtains the capturer stream information.\n         * @returns { AudioStreamInfo } The stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 10\n         */\n        /**\n         * Obtains the capturer stream information.\n         * @returns { AudioStreamInfo } The stream information.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getStreamInfoSync(): AudioStreamInfo;\n        /**\n         * Obtains the capturer stream id. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 9\n         */\n        /**\n         * Obtains the capturer stream id. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioStreamId(callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the capturer stream id. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 9\n         */\n        /**\n         * Obtains the capturer stream id. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioStreamId(): Promise<number>;\n        /**\n         * Obtains the capturer stream id.\n         * @returns { number } The stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 10\n         */\n        /**\n         * Obtains the capturer stream id.\n         * @returns { number } The stream id.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioStreamIdSync(): number;\n        /**\n         * Starts capturing.\n         * Success: This method uses an asynchronous callback to return the result.\n         * Failure: This method uses an asynchronous callback to return the error instance. Possible causes:\n         *          6800301: Unsupported state, Audio focus request failed, System error.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Starts capturing. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        start(callback: AsyncCallback<void>): void;\n        /**\n         * Starts capturing.\n         * Success: This method uses a promise to return the result.\n         * Failure: This method uses a promise to return the error instance. Possible causes:\n         *          6800301: Unsupported state, Audio focus request failed, System error.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Starts capturing. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        start(): Promise<void>;\n        /**\n         * Reads the buffer from the audio capturer. This method uses an asynchronous callback to return the result.\n         * @param { number } size - Number of bytes to read.\n         * @param { boolean } isBlockingRead - Whether the read operation should be blocked.\n         * @param { AsyncCallback<ArrayBuffer> } callback - Callback used to return the buffer.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioCapturer#event:readData\n         */\n        read(size: number, isBlockingRead: boolean, callback: AsyncCallback<ArrayBuffer>): void;\n        /**\n         * Reads the buffer from the audio capturer. This method uses a promise to return the result.\n         * @param { number } size - Number of bytes to read.\n         * @param { boolean } isBlockingRead - Whether the read operation should be blocked.\n         * @returns { Promise<ArrayBuffer> } Returns the buffer data read if the operation is successful.\n         *          Returns an error code otherwise.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.audio.AudioCapturer#event:readData\n         */\n        read(size: number, isBlockingRead: boolean): Promise<ArrayBuffer>;\n        /**\n         * Obtains the timestamp in Unix epoch time (starts from January 1, 1970), in nanoseconds. This method uses an\n         * asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the timestamp.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Obtains the timestamp for audio frame that passed by system framework most recently.\n         * The timestamp is not accurate because audio device latency is not considered very thoughtfully.\n         * This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the audio timestamp based on the monotonic nanosecond system timer.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioTime(callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the timestamp in Unix epoch time (starts from January 1, 1970), in nanoseconds. This method uses a\n         * promise to return the result.\n         * @returns { Promise<number> } Promise used to return the timestamp.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Obtains the timestamp for audio frame that passed by system framework most recently.\n         * The timestamp is not accurate because audio device latency is not considered very thoughtfully.\n         * This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the audio timestamp based on the monotonic nanosecond system timer.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioTime(): Promise<number>;\n        /**\n         * Obtains the timestamp in Unix epoch time (starts from January 1, 1970), in nanoseconds.\n         * @returns { number } The audio timestamp.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 10\n         */\n        /**\n         * Obtains the timestamp for audio frame that passed by system framework most recently.\n         * The timestamp is not accurate because audio device latency is not considered very thoughtfully.\n         * @returns { number } The audio timestamp based on the monotonic nanosecond system timer.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getAudioTimeSync(): number;\n        /**\n         * Obtains the timestamp info.\n         *\n         * @returns { Promise<AudioTimestampInfo> } The Promise used to return timestamp info.\n         * @throws { BusinessError } 6800103 - Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 19\n         */\n        getAudioTimestampInfo(): Promise<AudioTimestampInfo>;\n        /**\n         * Obtains the timestamp info.\n         *\n         * @returns { AudioTimestampInfo } The returned timestamp info.\n         * @throws { BusinessError } 6800103 - Operation not permit at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 19\n         */\n        getAudioTimestampInfoSync(): AudioTimestampInfo;\n        /**\n         * Stops capturing. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Stops capturing. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        stop(callback: AsyncCallback<void>): void;\n        /**\n         * Stops capturing. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Stops capturing. This method uses a promise to return the result.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        stop(): Promise<void>;\n        /**\n         * Releases the capturer. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Releases the capturer. This method uses an asynchronous callback to return the result.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        release(callback: AsyncCallback<void>): void;\n        /**\n         * Releases the capturer. This method uses a promise to return the result.\n         * @returns { Promise<void> } - Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Releases the capturer. This method uses a promise to return the result.\n         * @returns { Promise<void> } - Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        release(): Promise<void>;\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for capturing. This method uses an asynchronous callback to\n         * return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for capturing. This method uses an asynchronous callback to\n         * return the result.\n         * @param { AsyncCallback<number> } callback - Callback used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getBufferSize(callback: AsyncCallback<number>): void;\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for capturing. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for capturing. This method uses a promise to return the result.\n         * @returns { Promise<number> } Promise used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getBufferSize(): Promise<number>;\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for capturing.\n         * @returns { number } Promise used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 10\n         */\n        /**\n         * Obtains a reasonable minimum buffer size in bytes for capturing.\n         * @returns { number } Promise used to return the buffer size.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        getBufferSizeSync(): number;\n        /**\n         * Gets the input device or devices for this stream.\n         * @returns { AudioDeviceDescriptors } Descriptors of input devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Gets the input device or devices for this stream.\n         * @returns { AudioDeviceDescriptors } Descriptors of input devices.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentInputDevices(): AudioDeviceDescriptors;\n        /**\n         * Gets full capturer info for this stream.\n         * @returns { AudioCapturerChangeInfo } Full capture info.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Gets full capturer info for this stream.\n         * @returns { AudioCapturerChangeInfo } Full capture info.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        getCurrentAudioCapturerChangeInfo(): AudioCapturerChangeInfo;\n        /**\n         * Gets overflow count.\n         * @returns { Promise<number> } - Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 12\n         */\n        getOverflowCount(): Promise<number>;\n        /**\n         * Gets overflow count.\n         * @returns { number } Overflow count number.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 12\n         */\n        getOverflowCountSync(): number;\n        /**\n         * Set if capturer want to be muted instead of interrupted, should be set before start.\n         * @param { boolean } muteWhenInterrupted - use {@code true} if application want its stream to be muted\n         *     instead of interrupted.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 6800103 - Operation not permitted at current state.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 20\n         */\n        setWillMuteWhenInterrupted(muteWhenInterrupted: boolean): Promise<void>;\n        /**\n         * Subscribes to mark reached events. When the number of frames captured reaches the value of the frame parameter,\n         * the callback is invoked.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @param { number } frame - Number of frames to trigger the event. The value must be greater than 0.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Subscribes to mark reached events. When the number of frames captured reaches the value of the frame parameter,\n         * the callback is invoked.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @param { number } frame - Number of frames to trigger the event. The value must be greater than 0.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'markReach', frame: number, callback: Callback<number>): void;\n        /**\n         * Unsubscribes from the mark reached events.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Unsubscribes from the mark reached events.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        /**\n         * Unsubscribes from the mark reached events.\n         * @param { 'markReach' } type - Type of the event to listen for. Only the markReach event is supported.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 18\n         */\n        off(type: 'markReach', callback?: Callback<number>): void;\n        /**\n         * Subscribes to period reached events. When the period of frame capturing reaches the value of frame parameter,\n         * the callback is invoked.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @param { number } frame - Period during which frame capturing is listened. The value must be greater than 0.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Subscribes to period reached events. When the period of frame capturing reaches the value of frame parameter,\n         * the callback is invoked.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @param { number } frame - Period during which frame capturing is listened. The value must be greater than 0.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'periodReach', frame: number, callback: Callback<number>): void;\n        /**\n         * Unsubscribes from period reached events.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Unsubscribes from period reached events.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        /**\n         * Unsubscribes from period reached events.\n         * @param { 'periodReach' } type - Type of the event to listen for. Only the periodReach event is supported.\n         * @param { Callback<number> } callback - Callback invoked when the event is triggered.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 18\n         */\n        off(type: 'periodReach', callback?: Callback<number>): void;\n        /**\n         * Subscribes audio state change event callback.\n         * @param { 'stateChange' } type - Type of the event to listen for. Only the stateChange event is supported.\n         * @param { Callback<AudioState> } callback - Callback used to listen for the audio state change event.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 8\n         */\n        /**\n         * Subscribes audio state change event callback.\n         * @param { 'stateChange' } type - Type of the event to listen for. Only the stateChange event is supported.\n         * @param { Callback<AudioState> } callback - Callback used to listen for the audio state change event.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'stateChange', callback: Callback<AudioState>): void;\n        /**\n         * Unsubscribes audio state change event callback.\n         * @param { 'stateChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioState> } callback - Callback used to listen for the audio state change event.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 18\n         */\n        off(type: 'stateChange', callback?: Callback<AudioState>): void;\n        /**\n         * Listens for audio interrupt events. This method uses a callback to get interrupt events. The interrupt event is\n         * triggered when audio recording is interrupted.\n         * @param { 'audioInterrupt' } type - Type of the event to listen for. Only the audioInterrupt event is supported.\n         * @param { Callback<InterruptEvent> } callback - Callback used to listen for interrupt callback.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 10\n         */\n        /**\n         * Listens for audio interrupt events. This method uses a callback to get interrupt events. The interrupt event is\n         * triggered when audio recording is interrupted.\n         * @param { 'audioInterrupt' } type - Type of the event to listen for. Only the audioInterrupt event is supported.\n         * @param { Callback<InterruptEvent> } callback - Callback used to listen for interrupt callback.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'audioInterrupt', callback: Callback<InterruptEvent>): void;\n        /**\n         * UnSubscribes to audio interrupt events.\n         * @param { 'audioInterrupt' } type - Type of the event to listen for. Only the audioInterrupt event is supported.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @since 10\n         */\n        /**\n         * UnSubscribes to audio interrupt events.\n         * @param { 'audioInterrupt' } type - Type of the event to listen for. Only the audioInterrupt event is supported.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Interrupt\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'audioInterrupt'): void;\n        /**\n         * Subscribes input device change event callback.\n         * The event is triggered when input device change for this stream.\n         * @param { 'inputDeviceChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to listen device change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Subscribes input device change event callback.\n         * The event is triggered when input device change for this stream.\n         * @param { 'inputDeviceChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used to listen device change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'inputDeviceChange', callback: Callback<AudioDeviceDescriptors>): void;\n        /**\n         * Unsubscribes input device change event callback.\n         * @param { 'inputDeviceChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @since 11\n         */\n        /**\n         * Unsubscribes input device change event callback.\n         * @param { 'inputDeviceChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioDeviceDescriptors> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Device\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'inputDeviceChange', callback?: Callback<AudioDeviceDescriptors>): void;\n        /**\n         * Subscribes audio capturer info change event callback.\n         * The event is triggered when input device change for this stream.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioCapturerChangeInfo> } callback - Callback used to listen device change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 11\n         */\n        /**\n         * Subscribes audio capturer info change event callback.\n         * The event is triggered when input device change for this stream.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioCapturerChangeInfo> } callback - Callback used to listen device change event.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'audioCapturerChange', callback: Callback<AudioCapturerChangeInfo>): void;\n        /**\n         * Unsubscribes audio capturer info change event callback.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioCapturerChangeInfo> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 11\n         */\n        /**\n         * Unsubscribes audio capturer info change event callback.\n         * @param { 'audioCapturerChange' } type - Type of the event to listen for.\n         * @param { Callback<AudioCapturerChangeInfo> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'audioCapturerChange', callback?: Callback<AudioCapturerChangeInfo>): void;\n        /**\n         * Subscribes audio data callback.\n         * The event is triggered when audio buffer is available for reading more data.\n         * @param { 'readData' } type - Type of the event to listen for.\n         * @param { Callback<ArrayBuffer> } callback - Callback with the buffer to read.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 11\n         */\n        /**\n         * Subscribes audio data callback.\n         * The event is triggered when audio buffer is available for reading more data.\n         * @param { 'readData' } type - Type of the event to listen for.\n         * @param { Callback<ArrayBuffer> } callback - Callback with the buffer to read.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        on(type: 'readData', callback: Callback<ArrayBuffer>): void;\n        /**\n         * Unsubscribes audio data callback.\n         * @param { 'readData' } type - Type of the event to listen for.\n         * @param { Callback<ArrayBuffer> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @since 11\n         */\n        /**\n         * Unsubscribes audio data callback.\n         * @param { 'readData' } type - Type of the event to listen for.\n         * @param { Callback<ArrayBuffer> } callback - Callback used in subscribe.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         *                                 1.Mandatory parameters are left unspecified;\n         *                                 2.Incorrect parameter types.\n         * @throws { BusinessError } 6800101 - Parameter verification failed.\n         * @syscap SystemCapability.Multimedia.Audio.Capturer\n         * @crossplatform\n         * @since 12\n         */\n        off(type: 'readData', callback?: Callback<ArrayBuffer>): void;\n    }\n    /**\n     * Array of AudioEffectMode, which is read-only.\n     * @typedef { Array<Readonly<AudioEffectMode>> } AudioEffectInfoArray\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 10\n     */\n    type AudioEffectInfoArray = Array<Readonly<AudioEffectMode>>;\n    /**\n     * Describes an audio effect mode group.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @since 10\n     */\n    /**\n     * Describes an audio effect mode group.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Renderer\n     * @atomicservice\n     * @since 12\n     */\n    enum AudioEffectMode {\n        /**\n         * Audio Effect Mode effect none.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Audio Effect Mode effect none. This effect mode will disable audio effect process for current audio renderer.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @atomicservice\n         * @since 12\n         */\n        EFFECT_NONE = 0,\n        /**\n         * Audio Effect Mode effect default.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @since 10\n         */\n        /**\n         * Audio Effect Mode effect default.\n         * @syscap SystemCapability.Multimedia.Audio.Renderer\n         * @atomicservice\n         * @since 12\n         */\n        EFFECT_DEFAULT = 1\n    }\n    /**\n     * Audio AudioChannel Layout\n     * A 64-bit integer indicates that the appearance and order of the speakers for recording or playback.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @since 11\n     */\n    /**\n     * Audio AudioChannel Layout\n     * A 64-bit integer indicates that the appearance and order of the speakers for recording or playback.\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Audio.Core\n     * @crossplatform\n     * @since 12\n     */\n    enum AudioChannelLayout {\n        /**\n         * Unknown Channel Layout\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Unknown Channel Layout\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_UNKNOWN = 0x0,\n        /**\n         * Channel Layout For Mono, 1 channel in total\n         * Speaker layout: front center(FC)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For Mono, 1 channel in total\n         * Speaker layout: front center(FC)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_MONO = 0x4,\n        /**\n         * Channel Layout For Stereo, 2 channels in total\n         * Speaker layout: front left(FL), front right(FR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For Stereo, 2 channels in total\n         * Speaker layout: front left(FL), front right(FR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_STEREO = 0x3,\n        /**\n         * Channel Layout For Stereo-Downmix, 2 channels in total\n         * Speaker layout: Stereo left, stereo right\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_STEREO_DOWNMIX = 0x60000000,\n        /**\n         * Channel Layout For 2.1, 3 channels in total\n         * Speaker layout: Stereo plus low-frequency effects(LFE)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 2.1, 3 channels in total\n         * Speaker layout: Stereo plus low-frequency effects(LFE)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_2POINT1 = 0xB,\n        /**\n         * Channel Layout For 3.0, 3 channels in total\n         * Speaker layout: Stereo plus back center(BC)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 3.0, 3 channels in total\n         * Speaker layout: Stereo plus back center(BC)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_3POINT0 = 0x103,\n        /**\n         * Channel Layout For Surround, 3 channels in total\n         * Speaker layout: Stereo plus FC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For Surround, 3 channels in total\n         * Speaker layout: Stereo plus FC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_SURROUND = 0x7,\n        /**\n         * Channel Layout For 3.1, 4 channels in total\n         * Speaker layout: Surround plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 3.1, 4 channels in total\n         * Speaker layout: Surround plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_3POINT1 = 0xF,\n        /**\n         * Channel Layout For 4.0, 4 channels in total\n         * Speaker layout: Surround plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 4.0, 4 channels in total\n         * Speaker layout: Surround plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_4POINT0 = 0x107,\n        /**\n         * Channel Layout For Quad, 4 channels in total\n         * Speaker layout: Stereo plus left and right back speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For Quad, 4 channels in total\n         * Speaker layout: Stereo plus left and right back speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_QUAD = 0x33,\n        /**\n         * Channel Layout For Quad-Side, 4 channels in total\n         * Speaker layout: Stereo plus left and right side speakers(SL, SR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_QUAD_SIDE = 0x603,\n        /**\n         * Channel Layout For 2.0.2, 4 channels in total\n         * Speaker layout: Stereo plus left and right top side speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 2.0.2, 4 channels in total\n         * Speaker layout: Stereo plus left and right top side speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_2POINT0POINT2 = 0x3000000003,\n        /**\n         * Channel Layout For ORDER1-ACN-N3D First Order Ambisonic(FOA), 4 channels in total\n         * First order, Ambisonic Channel Number(ACN) format, Normalization of three-D(N3D)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_AMB_ORDER1_ACN_N3D = 0x100000000001,\n        /**\n         * Channel Layout For ORDER1-ACN-SN3D FOA, 4 channels in total\n         * First order, ACN format, Semi-Normalization of three-D(SN3D)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_AMB_ORDER1_ACN_SN3D = 0x100000001001,\n        /**\n         * Channel Layout For ORDER1-FUMA FOA, 4 channels in total\n         * First order, Furse-Malham(FuMa) format\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_AMB_ORDER1_FUMA = 0x100000000101,\n        /**\n         * Channel Layout For 4.1, 5 channels in total\n         * Speaker layout: 4.0 plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 4.1, 5 channels in total\n         * Speaker layout: 4.0 plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_4POINT1 = 0x10F,\n        /**\n         * Channel Layout For 5.0, 5 channels in total\n         * Speaker layout: Surround plus two side speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 5.0, 5 channels in total\n         * Speaker layout: Surround plus two side speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_5POINT0 = 0x607,\n        /**\n         * Channel Layout For 5.0-Back, 5 channels in total\n         * Speaker layout: Surround plus two back speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_5POINT0_BACK = 0x37,\n        /**\n         * Channel Layout For 2.1.2, 5 channels in total\n         * Speaker layout: 2.0.2 plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_2POINT1POINT2 = 0x300000000B,\n        /**\n         * Channel Layout For 3.0.2, 5 channels in total\n         * Speaker layout: 2.0.2 plus FC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_3POINT0POINT2 = 0x3000000007,\n        /**\n         * Channel Layout For 5.1, 6 channels in total\n         * Speaker layout: 5.0 plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 5.1, 6 channels in total\n         * Speaker layout: 5.0 plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_5POINT1 = 0x60F,\n        /**\n         * Channel Layout For 5.1-Back, 6 channels in total\n         * Speaker layout: 5.0-Back plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_5POINT1_BACK = 0x3F,\n        /**\n         * Channel Layout For 6.0, 6 channels in total\n         * Speaker layout: 5.0 plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 6.0, 6 channels in total\n         * Speaker layout: 5.0 plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_6POINT0 = 0x707,\n        /**\n         * Channel Layout For Hexagonal, 6 channels in total\n         * Speaker layout: 5.0-Back plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For Hexagonal, 6 channels in total\n         * Speaker layout: 5.0-Back plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_HEXAGONAL = 0x137,\n        /**\n         * Channel Layout For 3.1.2, 6 channels in total\n         * Speaker layout: 3.1 plus two top front speakers(TFL, TFR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_3POINT1POINT2 = 0x500F,\n        /**\n         * Channel Layout For 6.0-Front, 6 channels in total\n         * Speaker layout: Quad-Side plus left and right front center speakers(FLC, FRC)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_6POINT0_FRONT = 0x6C3,\n        /**\n         * Channel Layout For 6.1, 7 channels in total\n         * Speaker layout: 5.1 plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 6.1, 7 channels in total\n         * Speaker layout: 5.1 plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_6POINT1 = 0x70F,\n        /**\n         * Channel Layout For 6.1-Back, 7 channels in total\n         * Speaker layout: 5.1-Back plus BC\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_6POINT1_BACK = 0x13F,\n        /**\n         * Channel Layout For 6.1-Front, 7 channels in total\n         * Speaker layout: 6.0-Front plus LFE\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_6POINT1_FRONT = 0x6CB,\n        /**\n         * Channel Layout For 7.0, 7 channels in total\n         * Speaker layout: 5.0 plus two back speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 7.0, 7 channels in total\n         * Speaker layout: 5.0 plus two back speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_7POINT0 = 0x637,\n        /**\n         * Channel Layout For 7.0-Front, 7 channels in total\n         * Speaker layout: 5.0 plus left and right front center speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 7.0-Front, 7 channels in total\n         * Speaker layout: 5.0 plus left and right front center speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_7POINT0_FRONT = 0x6C7,\n        /**\n         * Channel Layout For 7.1, 8 channels in total\n         * Speaker layout: 5.1 plus two back speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 7.1, 8 channels in total\n         * Speaker layout: 5.1 plus two back speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_7POINT1 = 0x63F,\n        /**\n         * Channel Layout For Octagonal, 8 channels in total\n         * Speaker layout: 5.0 plus BL, BR and BC.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For Octagonal, 8 channels in total\n         * Speaker layout: 5.0 plus BL, BR and BC.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_OCTAGONAL = 0x737,\n        /**\n         * Channel Layout For 5.1.2, 8 channels in total\n         * Speaker layout: 5.1 plus two top side speakers.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 5.1.2, 8 channels in total\n         * Speaker layout: 5.1 plus two top side speakers.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_5POINT1POINT2 = 0x300000060F,\n        /**\n         * Channel Layout For 7.1-Wide, 8 channels in total\n         * Speaker layout: 5.1 plus left and right front center speakers.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_7POINT1_WIDE = 0x6CF,\n        /**\n         * Channel Layout For 7.1-Wide, 8 channels in total\n         * Speaker layout: 5.1-Back plus left and right front center speakers.\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_7POINT1_WIDE_BACK = 0xFF,\n        /**\n         * Channel Layout For ORDER2-ACN-N3D Higher Order Ambisonics(HOA), 9 channels in total\n         * Second order, ACN format, N3D\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_AMB_ORDER2_ACN_N3D = 0x100000000002,\n        /**\n         * Channel Layout For ORDER2-ACN-SN3D HOA, 9 channels in total\n         * Second order, ACN format, SN3D\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_AMB_ORDER2_ACN_SN3D = 0x100000001002,\n        /**\n         * Channel Layout For ORDER2-FUMA HOA, 9 channels in total\n         * Second order, FuMa format\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_AMB_ORDER2_FUMA = 0x100000000102,\n        /**\n         * Channel Layout For 5.1.4, 10 channels in total\n         * Speaker layout: 5.1 plus four top speakers(TFL, TFR, TBL, TBR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 5.1.4, 10 channels in total\n         * Speaker layout: 5.1 plus four top speakers(TFL, TFR, TBL, TBR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_5POINT1POINT4 = 0x2D60F,\n        /**\n         * Channel Layout For 7.1.2, 10 channels in total\n         * Speaker layout: 7.1 plus two top side speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 7.1.2, 10 channels in total\n         * Speaker layout: 7.1 plus two top side speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_7POINT1POINT2 = 0x300000063F,\n        /**\n         * Channel Layout For 7.1.4, 12 channels in total\n         * Speaker layout: 7.1 plus four top speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 7.1.4, 12 channels in total\n         * Speaker layout: 7.1 plus four top speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_7POINT1POINT4 = 0x2D63F,\n        /**\n         * Channel Layout For 10.2, 12 channels in total\n         * Speaker layout: FL, FR, FC, TFL, TFR, BL, BR, BC, SL, SR, wide left(WL), and wide right(WR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 10.2, 12 channels in total\n         * Speaker layout: FL, FR, FC, TFL, TFR, BL, BR, BC, SL, SR, wide left(WL), and wide right(WR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_10POINT2 = 0x180005737,\n        /**\n         * Channel Layout For 9.1.4, 14 channels in total\n         * Speaker layout: 7.1.4 plus two wide speakers(WL, WR)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_9POINT1POINT4 = 0x18002D63F,\n        /**\n         * Channel Layout For 9.1.6, 16 channels in total\n         * Speaker layout: 9.1.4 plus two top side speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For 9.1.6, 16 channels in total\n         * Speaker layout: 9.1.4 plus two top side speakers\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_9POINT1POINT6 = 0x318002D63F,\n        /**\n         * Channel Layout For Hexadecagonal, 16 channels in total\n         * Speaker layout: Octagonal plus two wide speakers, six top speakers(TFL, TFR, TFC, TBL, TBR, TBC)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For Hexadecagonal, 16 channels in total\n         * Speaker layout: Octagonal plus two wide speakers, six top speakers(TFL, TFR, TFC, TBL, TBR, TBC)\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_HEXADECAGONAL = 0x18003F737,\n        /**\n         * Channel Layout For ORDER3-ACN-N3D HOA, 16 channels in total\n         * Third order, ACN format, N3D\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For ORDER3-ACN-N3D HOA, 16 channels in total\n         * Third order, ACN format, N3D\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_AMB_ORDER3_ACN_N3D = 0x100000000003,\n        /**\n         * Channel Layout For ORDER3-ACN-SN3D HOA, 16 channels in total\n         * Third order, ACN format, N3D\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        /**\n         * Channel Layout For ORDER3-ACN-SN3D HOA, 16 channels in total\n         * Third order, ACN format, N3D\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @crossplatform\n         * @since 12\n         */\n        CH_LAYOUT_AMB_ORDER3_ACN_SN3D = 0x100000001003,\n        /**\n         * Channel Layout For ORDER3-FUMA HOA, 16 channels in total\n         * Third order, FuMa format\n         * @syscap SystemCapability.Multimedia.Audio.Core\n         * @since 11\n         */\n        CH_LAYOUT_AMB_ORDER3_FUMA = 0x100000000103\n    }\n}\nexport default audio;\n",
}
export default FILE;